উত্তর:
পরিসংখ্যানগুলি কেবল গতিশীল মেটাডেটার একটি ফর্ম যা আরও ভাল সিদ্ধান্ত নিতে ক্যোরি অপ্টিমাইজারকে সহায়তা করে। উদাহরণস্বরূপ, যদি কোনও টেবিলে কেবলমাত্র কয়েক ডজন সারি থাকে, তবে কোনও সূচকগুলিতে দেখার জন্য কোনও অর্থ নেই; আপনি একটি পূর্ণ টেবিল স্ক্যান করে সর্বদা ভাল থাকবেন। তবে যদি সেই একই টেবিলটি দশ লক্ষ সারিতে বেড়ে যায়, তবে আপনি সম্ভবত সূচকটি ব্যবহার করে আরও ভাল। তবে আপনি যদি সেই কলামটিতে কেবলমাত্র কয়েকটি অনন্য মানের (যেমন এটি "সেক্স" কলাম শুধুমাত্র "এম" বা "এফ" সমন্বিত থাকতে পারে) তে সারণীটি জিজ্ঞাসা করেন তবে আসলে কোনও এফটিএস সে ক্ষেত্রে আরও ভাল হতে পারে কারণ আপনি ফলাফল সেট তৈরি করতে যেভাবেই হোক ব্লকটি পুনরুদ্ধার করতে হবে। এখন বলুন আপনার টেবিলটি 99% "এম" এবং কেবল 1% "এফ", আমাদের এক ক্ষেত্রে FTS করা উচিত বা অন্যটিতে একটি সূচক ব্যবহার করা উচিত। একই টেবিল, একই ক্যোয়ারী, টেবিলের বিষয়বস্তুর উপর নির্ভর করে সম্ভাব্যভাবে চারটি আলাদা ক্যোয়ারী পরিকল্পনা রয়েছে। এই ধরণের জিনিসগুলি "পরিসংখ্যান" এবং এগুলি প্রতিটি ডাটাবেসে স্বতন্ত্র - এমনকি অভিন্ন টেবিলে এবং সূচী কাঠামোর সাথে দুটি ডাটাবেসও পৃথক পরিসংখ্যান ধারণ করে।
সংক্ষেপে, একটি আধুনিক ডাটাবেস ইঞ্জিনে দুটি ধরণের ক্যোয়ারী অপ্টিমাইজেশন রয়েছে: এসকিউএল (রুল-ভিত্তিক অপ্টিমাইজেশন, যেমন একটি সংকলক আরও বেশি দক্ষ করে তুলতে আপনার সি লিখেছে) এবং সঠিক পথটি বেছে নেওয়ার জন্য ডেটা (ব্যয় ভিত্তিক অপ্টিমাইজেশন যেমন কোনও জেআইটি সংকলক যেমন রানটাইমের সময় হটস্পটগুলি সনাক্ত করে)। আপনার যদি কেবল ক্যোয়ারী অপ্টিমাইজারটি স্পষ্টত কোনও ভুল করে দেখায় (তবে উদাহরণস্বরূপ এফটিএস নির্বাচন করা যখন আপনি কোন সূচক জানেন আরও ভাল হবে) তবে আপনার কেবলমাত্র এটির জন্য উদ্বেগের প্রয়োজন ।
এগুলি সূচক এবং / অথবা কলামগুলিতে মানগুলির বিতরণ ট্র্যাক করতে ক্যোরি অপটিমাইজার (এমএসডিএন-তে হোয়াইটপ্যাপার) ব্যবহার করে ।
আপনার একমাত্র উদ্বেগ নিয়মিত আপডেট করা উচিত : কেবলমাত্র ডিবি ইঞ্জিনটিকে স্টাফ করার জন্য ছেড়ে দিন