MySQL-এ LIMIT OFFSET ব্যবহার করে পেজিনেশন বা রেঞ্জ নির্বাচন
MySQL-এ LIMIT এবং OFFSET ব্যবহার করে রেজাল্ট সেটের যেকোনো অংশ নির্বাচন করা যায়। OFFSET 0 মানে শুরু থেকে, LIMIT 999 মানে প্রায় সকল রো (বড় সংখ্যা)।
উদাহরণ
টেবিল তৈরি এবং ১৬টি রো ইনসার্ট:
CREATE TABLE DemoTable (Id INT);
INSERT INTO DemoTable VALUES (100),(101),(102),(103),(104),(105),(106),(107),(108),(109),(110),(111),(112),(113),(114),(115);
প্রথম ১০ রো এবং বাকিগুলো একসাথে (OFFSET 0, LIMIT বড়)
SELECT * FROM DemoTable LIMIT 999 OFFSET 0;
আউটপুট: সকল ১৬টি রো দেখাবে।
বাস্তব ব্যবহার: পেজিনেশন
-- পেজ ১ (প্রথম ১০ রো)
SELECT * FROM DemoTable LIMIT 10 OFFSET 0;
-- পেজ ২ (পরবর্তী ১০ রো)
SELECT * FROM DemoTable LIMIT 10 OFFSET 10;
-- পেজ N
SELECT * FROM DemoTable LIMIT 10 OFFSET (N-1)*10;
সতর্কতা
OFFSETবড় হলে পারফরম্যান্স কমে (MySQL স্কিপ করা রোগুলো পড়ে ফেলে)।- বড় ডাটাসেটে "Keyset Pagination" (
WHERE id > last_id ORDER BY id LIMIT 10) ব্যবহার করুন। LIMIT 999 OFFSET 0লেখা অপ্রয়োজনীয় — শুধুSELECT * FROM DemoTableলিখলেই হবে।