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

MySQL-এ দ্রুত কোয়েরির জন্য LOOP বা OR-র বদলে IN() অপারেটর ব্যবহার করা

IN() দিয়ে একাধিক ভ্যালু দ্রুত ফিল্টার

অ্যারে বা লিস্ট থেকে একাধিক ভ্যালু ম্যাচ করতে WHERE col IN (val1, val2, ...) ব্যবহার করুন। এটি OR চেইন বা লুপ থেকে অনেক গুন দ্রুত।

উদাহরণ

mysql> CREATE TABLE DemoTable1538 (ClientId INT, ClientName VARCHAR(20));
mysql> INSERT INTO DemoTable1538 VALUES (101,'Chris'), (102,'Robert'), (103,'Bob'), (104,'Adam');

কোয়েরি: ClientId 101, 103, 104 ফেচ

mysql> SELECT * FROM DemoTable1538 WHERE ClientId IN (101,103,104);

ফলাফল

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|      101 | Chris      |
|      103 | Bob        |
|      104 | Adam       |
+----------+------------+

পারফরম্যান্স: IN() ইনডেক্স ব্যবহার করতে পারে (Range Access)। OR চেইন প্রায় সবসময় ফুল স্ক্যান করে। লিস্ট বড় হলে Prepared Statement বা Temporary Table জয়েন ভালো।

  1. MySQL-এ COUNT() এবং IF() একসাথে ব্যবহার করে শর্তসাপেক্ষ গুননা

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

  3. MySQL-এ LIKE CONCAT() ব্যবহার করে ডাইনামিক প্যাটার্ন ম্যাচিং

  4. MySQL-এ একটি সংখ্যা অন্য সংখ্যার ঘাতে মান বের করতে কি ^ অপারেটর ব্যবহার করতে হয়?