কম্পিউটার টিউটোরিয়াল

MySQL-এ কম্পোজিট ইন্ডেক্স (Composite Index) কখন ব্যবহার করা উচিত

কম্পোজিট ইন্ডেক্স ব্যবহার করা যেতে পারে যখন সাবকোয়েরি ব্যবহার করা হয়। কম্পোজিট ইন্ডেক্সের সুবিধাগুলো নিচে দেওয়া হলো:

  • জয়াইনিং (Joining)
  • ফিল্টারিং (Filtering)
  • সিলেক্টিং (Selecting)

ইন্ডেক্স সিনট্যাক্স

index(column_name1, column_name2, column_name3, column_name4, ... N)

টেবিল তৈরি করুন এবং তার মধ্যে ইন্ডেক্স সেট করুন:

mysql> create table MultipleIndexDemo
-> (
-> id int,
-> FirstName varchar(100),
-> LastName varchar(100),
-> Address varchar(200),
-> index(id, LastName, Address)
-> );
Query OK, 0 rows affected (0.57 sec)

ইন্ডেক্স তৈরি হয়েছে কিনা চেক করুন:

mysql> show index from MultipleIndexDemo;

আউটপুট:

+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table             | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| multipleindexdemo | 1          | id       | 1            | id          | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
| multipleindexdemo | 1          | id       | 2            | LastName    | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
| multipleindexdemo | 1          | id       | 3            | Address     | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
3 rows in set (0.18 sec)

গুরুত্বপূর্ণ নোট: কম্পোজিট ইন্ডেক্সে কলামের ক্রম অত্যন্ত গুরুত্বপূর্ণ (Leftmost Prefix Rule)। INDEX(a,b,c) কোয়েরি WHERE a=1 AND b=2, WHERE a=1 এর জন্য কাজ করবে, কিন্তু WHERE b=2 বা WHERE c=3 এর জন্য কাজ করবে না।

  1. MySQL কমপ্রেসড প্রোটোকল কখন ব্যবহার করা উচিত?

  2. C++-এ ক্লাস বরং struct কখন ব্যবহার করবেন?

  3. C++-এ স্মার্ট পয়েন্টার (Smart Pointer) কী এবং কখন ব্যবহার করবেন?

  4. C++-এ 'friend' কখন ব্যবহার করা উচিত?