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

MySQL-এ IN() অপারেটর ব্যবহার করে কোয়েরি দ্রুত করা (ইন্ডেক্স ব্যবহার)

MySQL-এ একাধিক ভ্যালু খুঁজতে OR চেইন করার পরিবর্তে IN() অপারেটর ব্যবহার করলে কোয়েরি দ্রুত হয়, কারণ MySQL অভ্যন্তরীণভাবে ইন্ডেক্স ব্যবহার করতে পারে।

টেবিল ও ডেটা

mysql> create table DemoTable1618 (
    ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ClientName varchar(20),
    ClientEmailId varchar(30)
);
mysql> insert into DemoTable1618(ClientName,ClientEmailId) values
('Chris Brown','Brown323@gmail.com'),
('David Miller','MillerDavid@gmail.com'),
('John Doe','998John_Doe@gmail.com'),
('John Smith','999John_Smith@gmail.com'),
('Adam Smith','Adam_Smith@gmail.com');

IN() ব্যবহার করে ফাস্ট কোয়েরি

mysql> select * from DemoTable1618 where ClientEmailId IN('998John_Doe@gmail.com','999John_Smith@gmail.com','MillerDavid@gmail.com');
+----------+--------------+-------------------------+
| ClientId | ClientName   | ClientEmailId           |
+----------+--------------+-------------------------+
| 2        | David Miller | MillerDavid@gmail.com   |
| 3        | John Doe     | 998John_Doe@gmail.com   |
| 4        | John Smith   | 999John_Smith@gmail.com |
+----------+--------------+-------------------------+

কারণ দ্রুত হয়: IN() লিস্টকে সেট হিসেবে ট리트 করে এবং রেঞ্জ অপ্টিমাইজেশন/ইন্ডেক্স লুকআপ ব্যবহার করে। বড় লিস্টের জন্য IN() OR-এর চেয়ে দ্রুত। ClientEmailId-তে ইন্ডেক্স থাকলে আরও দ্রুত হবে।

  1. MySQL-এ প্রথম ১০টি রেকর্ড নির্বাচন করার ক্যোয়ারি

  2. MySQL-এ SELECT NULL স্টেটমেন্ট ব্যবহার করা যায় কিনা?

  3. MySQL SELECT কোয়ারিতে এলিয়াস (alias) ব্যবহার করার পদ্ধতি

  4. MySQL-এ SELECT ক্যোয়ারির ফলাফল অর্ডার করা