সঠিক সীমাটি সময়ের আগে নির্ধারণ করা সত্যিই কঠিন hard
বেশিরভাগ লোকেরা একটি বিষয়কে অবমূল্যায়ন করে যে হ'ল উচ্চ প্রয়োজনীয়তা যা একটি সূচকে অবশ্যই পূরণ করতে হবে, এটি কোনও প্রশ্নের ক্ষেত্রে প্রার্থী হওয়ার আগে।
একটি দক্ষ (অবিচ্ছিন্ন) সূচক
দুর্দান্ত নির্বাচনের প্রস্তাব দেয় , উদাহরণস্বরূপ মোট সারিগুলির মধ্যে খুব সামান্য শতাংশ (<1%, <2%) প্রদান করে। যদি নির্বাচিততা প্রদত্ত না হয় - এসকিউএল সার্ভারের ক্যোয়ারী অপ্টিমাইজার সম্ভবত এই সূচকটিকে উপেক্ষা করবে
আদর্শভাবে ক্যোয়ারীটি আবরণ করা উচিত , অর্থাত্ কোয়েরির জন্য প্রয়োজনীয় সমস্ত তেহ কলামগুলি ফিরিয়ে দিন। যদি আপনি একটি সূচক তৈরি করতে পারেন যার 1 বা 2 সূচক কলাম রয়েছে, এবং অন্তর্ভুক্ত কলামগুলির মতো অন্য মুষ্টিমেয় (2-4) কলামগুলি অন্তর্ভুক্ত করে এবং এইভাবে আপনি একটি ক্যোয়ারী কভার করতে পারেন - তবে সম্ভাবনাগুলি হ'ল ক্যোরি অপটিমাইজার এই সূচকটি ব্যবহার করবে। যার অর্থ হ'ল: যদি আপনার কোড সর্বদা সমস্ত কলামগুলিSELECT * .....
আনতে ব্যবহার করে তবে সূচকগুলি ব্যবহারের সম্ভাবনা হ্রাস পায় - বেশ নাটকীয়ভাবে, আসলে
আমি নিশ্চিত যে আরও অনেক মাপের মানদণ্ড রয়েছে - তবে আমি বিশ্বাস করব যে এই দুটিই সবচেয়ে গুরুত্বপূর্ণ বিষয়। অবশ্যই আপনার সূচকগুলি সর্বদা সঠিকভাবে বজায় রাখা উচিত (পুনর্গঠিত, পুনর্নির্মাণ) এবং আপনার সূচকগুলির সাথে সম্পর্কিত পরিসংখ্যানগুলি আপ টু ডেট রয়েছে কিনা তা নিশ্চিত করা উচিত।
PS: বিদেশী কী কলামগুলিতে অবিচ্ছিন্ন সূচকগুলি একটি বিশেষ কেস; ডিফল্টরূপে, আমি সর্বদা সেগুলিকে যুক্ত করার পরামর্শ দেব, যেহেতু তারা উভয় রেফারেনশিয়াল অখণ্ডতা যাচাই বাড়াতে সহায়তা JOIN
করে এবং সেই সাথে এফকে সীমাবদ্ধতার উপরও। তবে এখানেও, সেই এফকে কলাম সূচকগুলিকে আরও কার্যকর করার জন্য কিছু অতিরিক্ত "অন্তর্ভুক্ত" কলাম যুক্ত করে "প্রসারিত" করা একেবারেই বৈধ।