LIMIT এবং OFFSET এর ব্যবহার

MySQLi এর সাথে Pagination - মাইএসকিউএল আই (MySQLi) - Database Tutorials

325

MySQLi-তে LIMIT এবং OFFSET কুয়েরি লেখার একটি গুরুত্বপূর্ণ পদ্ধতি, বিশেষ করে যখন বড় ডাটাবেস থেকে নির্দিষ্ট পরিমাণ ডাটা ফেচ করতে হয়। LIMIT এবং OFFSET এর ব্যবহার পারফরম্যান্স অপটিমাইজেশনে সহায়ক, কারণ এগুলি ডাটাবেসে অপ্রয়োজনীয় ডাটা রিটার্ন করার পরিমাণ কমিয়ে দেয়।


LIMIT কী?

LIMIT একটি SQL কুয়েরি ক্লজ, যা নির্দিষ্ট সংখ্যক রেকর্ড ফিরিয়ে আনতে ব্যবহৃত হয়। এর মাধ্যমে, একাধিক রেকর্ড থেকে শুধুমাত্র কিছু সংখ্যক রেকর্ড নির্বাচন করা হয়। এটি ডাটাবেসের লোড কমাতে সহায়তা করে, বিশেষ করে যখন খুব বড় ডাটাবেসের মধ্যে থেকে ছোট ডাটা সেট প্রয়োজন হয়।

উদাহরণ:

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

$query = "SELECT name, email FROM users LIMIT 5";
$result = $mysqli->query($query);

while ($row = $result->fetch_assoc()) {
    echo "Name: " . $row['name'] . " - Email: " . $row['email'] . "<br>";
}

$mysqli->close();
?>

এখানে, LIMIT 5 ব্যবহার করা হয়েছে, যা শুধুমাত্র প্রথম ৫টি রেকর্ড রিটার্ন করবে।


OFFSET কী?

OFFSET সাধারণত LIMIT এর সাথে ব্যবহৃত হয়। এটি নির্দিষ্ট করে যে, কুয়েরি থেকে কতগুলো রেকর্ড স্কিপ (উল্লেখযোগ্যভাবে বাদ) করতে হবে। যখন ডাটা পেজিনেশন (pagination) প্রয়োগ করতে হয়, তখন OFFSET অনেক সহায়ক হতে পারে। এটি সাধারণত LIMIT এর পর ব্যবহৃত হয়, এবং এটি যে রেকর্ড থেকে ডাটা নিতে শুরু করবে তা নির্ধারণ করে।

উদাহরণ:

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

$query = "SELECT name, email FROM users LIMIT 5 OFFSET 10";
$result = $mysqli->query($query);

while ($row = $result->fetch_assoc()) {
    echo "Name: " . $row['name'] . " - Email: " . $row['email'] . "<br>";
}

$mysqli->close();
?>

এখানে, LIMIT 5 OFFSET 10 মানে হল প্রথম ১০টি রেকর্ড স্কিপ করা হবে, এবং তারপর পরবর্তী ৫টি রেকর্ড রিটার্ন হবে। এটি সাধারণত পেজিনেশন ব্যবস্থায় ব্যবহার হয়।


LIMIT এবং OFFSET একসঙ্গে ব্যবহার করা

পেজিনেশন ব্যবস্থায় একসাথে LIMIT এবং OFFSET ব্যবহার করা হয় যাতে ইউজারের জন্য নির্দিষ্ট সংখ্যক রেকর্ড প্রদর্শিত হয় এবং পরবর্তী বা পূর্ববর্তী পৃষ্ঠায় সহজে যাওয়ার ব্যবস্থা থাকে। উদাহরণস্বরূপ, যদি আপনি ১০টি রেকর্ড প্রতি পেজে দেখাতে চান, তবে প্রথম পেজের জন্য LIMIT 10 OFFSET 0 এবং দ্বিতীয় পেজের জন্য LIMIT 10 OFFSET 10 হবে।

উদাহরণ:

<?php
$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

$page = 2; // দ্বিতীয় পেজ
$records_per_page = 10;
$offset = ($page - 1) * $records_per_page;

$query = "SELECT name, email FROM users LIMIT $records_per_page OFFSET $offset";
$result = $mysqli->query($query);

while ($row = $result->fetch_assoc()) {
    echo "Name: " . $row['name'] . " - Email: " . $row['email'] . "<br>";
}

$mysqli->close();
?>

এখানে, প্রথম পেজের জন্য OFFSET 0 হবে এবং দ্বিতীয় পেজের জন্য OFFSET 10 হবে, যা পরবর্তী ১০টি রেকর্ড ফেচ করবে।


LIMIT এবং OFFSET এর ব্যবহারকারী সুবিধা

  • পারফরম্যান্স উন্নতি: বড় ডাটাবেস থেকে অপ্রয়োজনীয় ডাটা না ফেচ করে নির্দিষ্ট সংখ্যক রেকর্ড ফেচ করা যায়, ফলে সার্ভারের লোড কমে।
  • পেজিনেশন: ব্যবহারকারীকে ছোট ছোট অংশে ডাটা দেখানোর জন্য পেজিনেশন প্রয়োগ করা সহজ হয়।
  • ডাটা ফিল্টারিং: আপনি যদি চাইলে বড় ডাটাবেস থেকে নির্দিষ্ট রেঞ্জের ডাটা একসঙ্গে দেখতে পারেন।

LIMIT এবং OFFSET একসঙ্গে ব্যবহারের মাধ্যমে MySQLi-তে ডাটাবেসের পারফরম্যান্স এবং ইউজার ইন্টারফেসের সুবিধা বাড়ানো সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...