কম্পিউটার

MySQL-এ যৌগিক সূচী ব্যবহার করে দ্রুত ধীরগতির প্রশ্ন করা


আসুন প্রথমে দেখা যাক কম্পোজিট ইনডেক্স কি -

  • একটি যৌগিক সূচক হল একটি সূচক যা একাধিক কলামে ব্যবহৃত হয়।

  • এটি একাধিক-কলাম সূচক হিসাবেও পরিচিত।

  • MySQL ব্যবহারকারীকে একটি যৌগিক সূচক তৈরি করতে দেয় যা 16টি কলাম পর্যন্ত থাকতে পারে।

  • ক্যোয়ারী অপ্টিমাইজার কোয়েরির জন্য যৌগিক সূচী ব্যবহার করে যা সূচকের সমস্ত কলাম পরীক্ষা করবে।

  • এটি এমন প্রশ্নের জন্যও ব্যবহার করা যেতে পারে যা প্রথম কলাম, প্রথম দুটি কলাম ইত্যাদি পরীক্ষা করবে৷

  • যদি সূচী সংজ্ঞায় কলামগুলি সঠিক ক্রমে নির্দিষ্ট করা হয়, তাহলে একটি একক যৌগিক সূচক ব্যবহার করা যেতে পারে যা একই টেবিলে নির্দিষ্ট ধরণের প্রশ্নের গতি বাড়াবে৷

আসুন দেখি কিভাবে একটি যৌগিক সূচক তৈরি করা যায়, একটি টেবিল তৈরির সময়। নিচের বিবৃতি −

ব্যবহার করে এটি করা যেতে পারে

কোয়েরি

CREATE TABLE table_name (
   c1 data_type PRIMARY KEY,
   c2 data_type,
   c3 data_type,
   c4 data_type,
   INDEX index_name (c2,c3,c4)
);

উপরের বিবৃতিতে, যৌগিক সূচকটি তিনটি কলাম c2, c3 এবং c4 নিয়ে গঠিত।

একটি যৌগিক সূচী 'তৈরি সূচক' বিবৃতি ব্যবহার করে বিদ্যমান টেবিলে যোগ করা যেতে পারে। আসুন দেখি কিভাবে এটি করা যায় -

কোয়েরি

CREATE INDEX index_name
ON table_name(c2,c3,c4);

আসুন দেখি কিভাবে কম্পোজিট ইনডেক্স −

ব্যবহার করে sloq কোয়েরি দ্রুত করা যায়
  • ক্যোয়ারী সম্পাদনের গতি তার সময়কালের উপর নির্ভর করে।

  • ইনডেক্স ইঙ্গিত ব্যবহার করলে ক্যোয়ারী গতি বৃদ্ধি পাবে।

  • একটি সূচক নির্বাচন করার সময় সঠিক সিদ্ধান্ত নিতে MySQL অপ্টিমাইজার ব্যবহার করা যেতে পারে৷

  • কিন্তু এটি শুধুমাত্র স্ট্যাটিক কোয়েরিতে করা উচিত।

  • 'WHERE' ধারা পরিবর্তনের জায়গায় যদি প্রশ্নগুলি যোগ করা হয়, তাহলে প্রশ্নের কর্মক্ষমতা আরও খারাপ হবে, কারণ এটি অপ্টিমাইজারকে তার কাজ করতে দেবে না।

  • 'ফোর্স ইনডেক্স' বিবৃতিটি 'ইন্ডেক্স ব্যবহার করুন' (index_list) এর মত কাজ করে, উপরন্তু একটি টেবিল স্ক্যানকে একটি ব্যয়বহুল কাজ হিসেবে বিবেচনা করা হয়।

  • একটি টেবিল স্ক্যান শুধুমাত্র তখনই প্রয়োজন যখন একটি টেবিলে সারিগুলি খুঁজে বের করার জন্য একটি নামযুক্ত সূচক ব্যবহার করার কোন উপায় না থাকে৷


  1. একটি MySQL ডাটাবেস তৈরি এবং ব্যবহার করা

  2. MySQL প্রশ্নে প্রবেশ করা হচ্ছে

  3. MySQL-এ ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল ব্যবহার করা

  4. মাইএসকিউএল কম্পোজিট সূচক