আপনি কি কখনও কখনও একটি কোয়েরি সম্মুখীন হয়েছে যে SQL সার্ভারটি চালানো যায়নি কারণ এটি অনেকগুলি সারণিগুলি উল্লেখ করেছে?

আপনি কি কখনো সেখানে কোন ত্রুটির বার্তা দেখেছেন?

- SQL সার্ভার 2000

     

ভিউ বা ফাংশন রেজোলিউশনের জন্য অ্যাসুলারি টেবিল বরাদ্দ করা যায়নি।
  একটি ক্যোয়ারিতে সর্বোচ্চ সংখ্যক সারণী (256) অতিক্রম করা হয়েছে।

     

- SQL সার্ভার 2005

     

ক্যোয়ারিতে অনেকগুলি টেবিল নাম। সর্বাধিক অনুমোদিত 256।

যদি হ্যাঁ, আপনি কি করেছেন?

নিবৃত্ত? গ্রাহককে তাদের দাবীকে সহজ করে তোলা? ডাটাবেস Denormalized?


@ (প্রত্যেকে আমাকে প্রশ্নটি পোস্ট করতে চান):

  1. যদি আমি উত্তর সম্পাদনা উইন্ডোতে 70 কিলোবাইটের কোড আটকায় তবে আমি নিশ্চিত নই।
  2. এমনকি যদি আমি এটি করতে পারি তবে এই 70 কিলোবাইটের কোডটি ২0 / 30 টি দৃষ্টিভঙ্গির রেফারেন্স দিতে পারবে না কারণ অন্যথায় কোডটি অর্থহীন হবে।

আমি এখানে আতঙ্কের মত শব্দ করতে চাই না কিন্তু সমস্যাটি প্রশ্নে নেই। প্রশ্নগুলি অনুকূল (বা অন্তত প্রায় অনুকূল)। আমি তাদের অনুলিপি অনুমান করা ঘন্টা অতিবাহিত করেছি, প্রতি একক কলাম এবং প্রত্যেকটি সারণি যা সরানো যাবে। একটি প্রতিবেদন যে 200 বা 300 কলাম আছে একটি একক SELECT বিবৃতি (কারণ এটি কিভাবে কয়েক বছর আগে ডিজাইন করা হয়েছিল যখন এটি এখনও একটি ছোট রিপোর্ট ছিল) ভরা হয় কল্পনা করা।

0
ro fr hi
দৃশ্যগুলি সাহায্য করবে না দৃশ্যের মধ্যে ব্যবহৃত সারণি সীমা প্রতি গণনা, অত্যধিক।
যোগ লেখক Marek Grzenkowicz, উৎস
আপনি SQL সার্ভার 2000 SP3 ব্যবহার করছেন?
যোগ লেখক Stu, উৎস
আপনি সম্ভবত কিছু মতামত তৈরি করতে পারে?
যোগ লেখক Calvin Allen, উৎস

8 উত্তর

আমি যে ক্যোয়ারীটি দেখতে চাই, কিন্তু আমি কল্পনা করি যে এটির কোনও ধরণের পুনরাবৃত্তির সাথে কিছু সমস্যা রয়েছে এবং যখন আমি কোনও অবস্থায় এটির সম্ভাব্য চিন্তা ভাবনা করতে পারি না, তখন আমি এটি একটি খারাপ দিক থেকে / কেস / কার্সার বা একটি টন অসাধারণভাবে দৃশ্যমান মতামত

0
যোগ
কোন ধরণের কোন iterator। শুধু একটি একক সিলেক্ট স্টেটমেন্ট
যোগ লেখক Marek Grzenkowicz, উৎস

প্রশ্নটি পোস্ট করুন: ডি

আমি মনে করি যে সম্ভাব্য সমস্যাগুলির মধ্যে একটি হতে পারে একটি টন (200+) পড়তে পারে নাম / মূল্য সারণি যা একক লিংক টেবিলে সংবহন হতে পারে।

0
যোগ

@চোপেন আপনি এই পরিসংখ্যান গণনা করার পদ্ধতিটি পরিবর্তন করতে পারেন এবং পরিবর্তে প্রতি-পণ্যের পরিসংখ্যানের একটি পৃথক সারণী রাখুন .. যখন একটি অর্ডার স্থাপন করা হয়, পণ্যগুলির মাধ্যমে লুপ এবং পরিসংখ্যান সারণিতে যথাযথ রেকর্ড আপডেট করে। এটি একটি রিপোর্ট চালানোর সময় একটি বিশাল ক্যোয়ারী সবকিছু চালানোর পরিবর্তে চেকআউট পৃষ্ঠাতে অনেক গণনা লোড পরিবর্তন করবে। অবশ্যই কিছু পরিসংখ্যান আছে যা এই ভাবে কাজ করতে যাচ্ছে না, যেমন ট্র্যাকিং গ্রাহকদের 'একটি নির্দিষ্ট পণ্য কেনার পরে পরবর্তী ক্রয়।

0
যোগ

এসকিউএল সার্ভার 2005 জন্য, আমি টেবিল ভেরিয়েবল ব্যবহার করে এবং আংশিকভাবে আপনি যেতে হিসাবে তথ্য বিল্ডিং সুপারিশ চাই।

এটি করার জন্য, একটি টেবিল পরিবর্তনশীল তৈরি করুন যা আপনার চূড়ান্ত ফলাফলটি প্রতিনিধিত্ব করে যা আপনি ব্যবহারকারীকে পাঠাতে চান।

তারপর আপনার প্রাথমিক সারণিটি খুঁজে বের করুন (উপরে আপনার উদাহরণে অর্ডারের সারণিটি বলুন) এবং সেই তথ্যটি টানুন, পাশাপাশি সম্পূরক তথ্যগুলির একটি বিট যা কেবলমাত্র এক সদস্যের সদস্য (গ্রাহকের নাম, পণ্য নাম) থেকে সরিয়ে নিচ্ছে। আপনি সরাসরি আপনার টেবিল ভেরিয়েবলের মধ্যে এটি করার জন্য একটি নির্বাচন করতে পারেন।

সেখানে থেকে, টেবিলের মাধ্যমে এবং প্রতিটি সারির জন্য পুনরাবৃত্তি করো, ছোট্ট SELECT ক্যোয়ারীগুলির একটি গুচ্ছ করুন যা আপনার ফলাফল সেটের জন্য প্রয়োজনীয় সমস্ত সম্পূরক তথ্য উদ্ধার করে। আপনি যেতে হিসাবে প্রতিটি কলাম মধ্যে এই সন্নিবেশ।

একবার সম্পূর্ণ হলে, আপনি আপনার টেবিল ভেরিয়েবল থেকে একটি সহজ SELECT * করতে পারেন এবং ব্যবহারকারীকে এই ফলাফলটি পুনরায় সেট করতে পারেন।

আমি এর জন্য কোন হার্ড সংখ্যা নেই, কিন্তু এখানে তিনটি স্বতন্ত্র উদাহরণ আছে যা আমি কাজ করেছি এই তারিখের মধ্যে যেখানে এই ছোট প্রশ্নগুলি আসলে একটি বিশাল নির্বাচন ক্যোয়ারী যোগদান একটি গুচ্ছ সঙ্গে তুলনায় দ্রুত কাজ করেছে।

0
যোগ

I have never come across this kind of situation, and to be honest the idea of referencing > 256 tables in a query fils me with a mortal dread.

আপনার প্রথম প্রশ্ন সম্ভবত "কেন এত?" দ্বারা ঘনিষ্ঠভাবে "তথ্য কি বিট I না প্রয়োজন?" আমি চিন্তিত হব যে এই ধরনের একটি ক্যোয়ারী থেকে ফেরত পাঠানো তথ্যের পরিমাণটি বেশ কঠোরভাবে অ্যাপ্লিকেশনটির কর্মক্ষমতা প্রভাবিত করতে শুরু করবে।

0
যোগ
একটি গ্রাহক কল্পনা করুন, যেগুলি তাদের স্টোরগুলির আইটেমগুলির একটি তালিকা (একটি গ্রিডে) দেখতে চান এবং সত্যিকার অর্থে অনেকগুলি সম্পর্কিত তথ্য যেমন (প্রতিটি আইটেমের প্রথম অর্ডার, সর্বশেষ অর্ডার সম্পর্কে, প্রথম ডেলিভারির সময়, শেষ বিলি সম্পর্কে, গ্রাহকরা যারা এটি কিনেছেন, ডেলিভারির খরচ সম্পর্কে ...)। আমার বিশ্বাস, এটা সম্ভব, আমি এটা দেখেছি। এবং আমি এটা মোকাবেলা করতে হয়েছে। :) হ্যাঁ, কর্মক্ষমতা উপর প্রভাব যেমন পরিস্থিতিতে গুরুতর হতে পারে।
যোগ লেখক Marek Grzenkowicz, উৎস

এসকিউএল সার্ভার ২000 এ চলমান ডাইনামিক্স সিআরএম ইনস্টলেশনের জন্য রিপোর্টিং সার্ভিসেস প্রতিবেদন লেখার সময় এটি সব সময়ই ঘটবে। সিআরএম এর একটি সুষম স্বাভাবিক ডাটা স্কিম রয়েছে যা অনেকগুলি যোগ করে। প্রকৃতপক্ষে একটি হটফিক্স প্রায় ২56 থেকে হ্রাস করা 260 পর্যন্ত বিস্তৃত: http://support.microsoft .com / kb / 818406 (আমরা সবসময় এই SQL সার্ভার দলের অংশ একটি মহান ঠাট্টা চিন্তা)।

ডিলি-ও হিসাবে উল্লিখিত সমাধান, "সাব-যোগদান" (বিশেষ করে একাধিকবার ব্যবহার করা হয়) সনাক্ত করার জন্য এবং তাদের টেম্প-টেবিল ভেরিয়েবলগুলির মধ্যে ফ্যাক্টরগুলি চিহ্নিত করে যা আপনি আপনার প্রধান সংযোগে ব্যবহার করেন। এটি একটি প্রধান পিআইএ এবং প্রায়ই কর্মক্ষমতা নিহত আমি তোমার জন্য দুঃখিত.

@ কেভিন, যে টিই ভালবাসা - এটি সব বলে :-)।

0
যোগ

আমি এই একই সমস্যা ছিল ... আমার উন্নয়ন বাক্স SQL সার্ভার 2008 (দেখুন জরিমানা কাজ করে) কিন্তু উত্পাদন উপর (SQL সার্ভার 2005 সঙ্গে) প্রদর্শন না। আমি এই সীমাবদ্ধতা এড়ানোর জন্য মতামত তৈরি শেষ করেছিলাম, নতুন মতামত ব্যবহার করে ক্যোয়ারীর অংশ হিসাবে ত্রুটিটি ছুড়ে ফেলেছিলাম

লজিক্যাল এক্সিকিউশন বিবেচনা অকপট ধরনের একই ...

0
যোগ
এটা অদ্ভুত যে এটি সাহায্য - যতদূর আমি জানি, সারণি দৃশ্যের মধ্যে ব্যবহৃত সীমা প্রতি গণনা আপনি সূচিবদ্ধ দৃশ্য ব্যবহার করছেন?
যোগ লেখক Marek Grzenkowicz, উৎস

SQL সার্ভার 2005 এ একই সমস্যা ছিল (2005 সালে কাজ) আমি একটি দৃশ্য তৈরি করতে চেয়েছিলেন যখন। আমি একটি ভিউ পরিবর্তে একটি সঞ্চিত পদ্ধতি তৈরির মাধ্যমে সমস্যাটি সমাধান।

0
যোগ