PHP applications များကိုတီထွင်သောအခါအထူးသဖြင့်အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါဒေတာဘေ့စ်မှအချက်အလက်များကိုမည်သို့ထိထိရောက်ရောက်ရယူနိုင်သနည်း။ MySQLI_RESELT ဆိုသည်မှာ Query ရလဒ်များကိုလုပ်ဆောင်ရန် PHP တွင်အသုံးပြုသောဘုံလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။
ဤဆောင်းပါးသည် MySQLI_RESult function ကို အသုံးပြု. Memory Splflow ကိုရှောင်ရှားနိုင်ရန်အတွက်ကြီးမားသောဒေတာပမာဏကိုထိရောက်စွာလုပ်ဆောင်ရန်အတွက်အချက်အလက်ပမာဏကိုထိရောက်စွာလုပ်ဆောင်ရန်နှင့်စာဖတ်ခြင်းနည်းစနစ်များကိုထုတ်လွှင့်သည်။
streaming streaming streaming streaming streaming ဖတ်နေသည်အားလုံးရလဒ်များကို memye သို့ loading ထက် data line ကိုလိုင်းအားဖြင့်စာဖတ်ခြင်းကိုရည်ညွှန်းသည်။ စာဖတ်ခြင်းဖြင့်စာဖတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်တစ်ကြိမ်သာ 0 န်ဆောင်မှုပေးရန်အတွက်မသင့်သည့်ဒေတာအစုများကိုလုပ်ဆောင်နိုင်ပြီးအလွန်အကျွံမှတ်ဉာဏ်အသုံးပြုမှုအန္တရာယ်ကိုရှောင်ရှားနိုင်သည်။ streaming streaming စာဖတ်ခြင်းသည်အထူးသဖြင့်ကြီးမားသောဒေတာပမာဏကိုမေးမြန်းသောအခါအလွန်အသုံးဝင်သည်။
MySQLI_RESult သည် streaming screading function ကိုထောက်ပံ့ပေးသည်။ MySQLi_store_result နှင့်မတူဘဲအချက်အလက်အားလုံးသည်အချက်အလက်အားလုံးကိုမှတ်ဉာဏ်ထဲသို့ထည့်ပြီး MySQLI_USE_RESULE_RESELT မှဒေတာများကိုလိုင်းမှအချက်အလက်များကိုဖတ်ပြီးမှတ်ဥာဏ်အသုံးပြုမှုကိုသိသိသာသာလျှော့ချနိုင်သည်။
ကျွန်ုပ်တို့တွင်ဒေတာအမြောက်အများကိုပြန်လည်ပေးအပ်ရန်လိုအပ်သည့်ဒေတာဘေ့စ်စုံစမ်းမှုတစ်ခုရှိသည်ဆိုပါစို့။ ဒေတာများကိုထုတ်လွှင့်ရန် streaming ဖတ်ရန်မည်သို့အသုံးပြုရမည်ကိုပြသသောရိုးရှင်းသောကျင့်ထုံးဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဒေတာဘေ့စ် connection configuration ကို
$host = 'localhost';
$user = 'root';
$password = 'password';
$dbname = 'example_database';
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$conn = new mysqli($host, $user, $password, $dbname);
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($conn->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
// တစ် ဦး စုံစမ်းမှု execute,အသုံးပြု MYSQLI_USE_RESULT streaming စာဖတ်ခြင်းလုပ်ဆောင်
$query = "SELECT id, name, email FROM users WHERE status = 'active'";
$result = $conn->query($query, MYSQLI_USE_RESULT);
// စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($result === false) {
die("စုံစမ်းမှုမအောင်မြင်ပါ: " . $conn->error);
}
// ဒေတာကွင်းဆက်ကိုဖတ်ပါ
while ($row = $result->fetch_assoc()) {
// ဒေတာတစ်ခုချင်းစီကိုအတန်းတိုင်းလုပ်ငန်းစဉ်
echo "ID: " . $row['id'] . " - Name: " . $row['name'] . " - Email: " . $row['email'] . "<br>";
}
// ဖြန့်ချိ query ရလဒ်များ
$result->free();
// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$conn->close();
?>
ဒေတာဘေ့စ်ဆက်သွယ်မှု - ကျွန်ုပ်တို့သည် MySQL ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုတစ်ခုကိုပထမဆုံးဖန်တီးခဲ့သည်။
စုံစမ်းမှုကွပ်မျက်ခြင်း ။ ဤနည်းအားဖြင့်ရလဒ်အလုံးအရင်းကိုတစ်ပြိုင်နက်တည်းတွင်အမှတ်အသားပြုထားလိမ့်မည်မဟုတ်ပါ, သို့သော်လိုအပ်သလိုဒေတာဘေ့စ်လိုင်းမှအချက်အလက်များကိုရယူလိမ့်မည်။
စာဖတ်ခြင်းအားဖြင့်မျဉ်းကြောင်းဖြင့်လိုင်း - Fetch_assoc () နည်းလမ်းကို ဖြတ်. ကျွန်ုပ်တို့သည် query ရလဒ်များကိုမျဉ်းကြောင်းဖြင့်စာကြောင်းဖြင့်ဖတ်ပြီးဒေတာတစ်ခုစီ၏အတန်းတစ်ခုစီကိုဖတ်ပါ။
ဖြန့်ချိအရင်းအမြစ်များ - ဒေတာများကိုထုတ်ယူပြီးနောက်ရလဒ်ကိုထုတ်ပြန်ရန် အခမဲ့ () ကိုခေါ်ပါ။
ဆက်သွယ်မှုကိုပိတ်ပါ ။ နောက်ဆုံးတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပိတ်ပါ။
အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အထူးသဖြင့်စုံစမ်းမှုရလဒ်အလုံးအရင်းအလွန်ကြီးမားသည့်အခါမှတ်ဥာဏ်လျှံ၏အန္တရာယ်ကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
စာဖတ်ခြင်းတွင်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အတွက်အထူးသဖြင့်ရလဒ်သည်အချက်အလက်များသည်အလွန်ကြီးမားသည်။
ရလဒ်ကိုသတ်မှတ်ထားသည့်သတ်မှတ်ချက်ပမာဏကိုကန့်သတ်ပါ ။ ဥပမာအားဖြင့်, ကန့်သတ်ချက်သည် query ရလဒ်များအရေအတွက်ကိုကန့်သတ်ရန်နှင့်အသုတ်တွင်အချက်အလက်များကိုဖတ်ရှုရန်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:
$offset = 0;
$limit = 1000;
$query = "SELECT id, name, email FROM users WHERE status = 'active' LIMIT $offset, $limit";
Offset နှင့် ကန့်သတ်ချက် ညှိခြင်းအားဖြင့်အချက်အလက်အမြောက်အမြားကိုတစ်ပြိုင်နက်တည်းဖတ်ရှုခြင်းအားဖြင့်မှတ်ဥာဏ်လျှံကိုရှောင်ရှားရန်အချက်အလက်များကိုအသုတ်များဖြင့်ဖတ်နိုင်သည်။
Index Optimization - ဒေတာဘေ့စ်ရှိသက်ဆိုင်ရာဇယားများသည်သင့်လျော်သောညွှန်းကိန်းများရှိသည်။
အချက်အလက်များကိုအဆင့်ဆင့်အဆင့်သတ်မှတ်ခြင်း - အချက်အလက်များကိုဖတ်သည့်အခါဒေတာခြေလှမ်းကိုအဆင့်ဆင့်ကိုအဆင့်ဆင့်အားဖြင့်လုပ်ဆောင်နိုင်ပြီးသင်အချိန်မလိုအပ်တော့ကြောင်းမှတ်ဉာဏ်ကိုအခမဲ့ပြုလုပ်နိုင်သည်။ ဥပမာအားဖြင့်အချက်အလက်ထုတ်ယူခြင်းတွင်ဖိုင်အမျိုးအစားများပါ 0 င်ပါကအချက်အလက်အားလုံးကိုမှတ်ဉာဏ်တွင်သိမ်းဆည်းထားမည့်အစားဖိုင်အချို့အတွက်ဖိုင်ကိုရေးနိုင်သည်။
နောက်ခံအလုပ်ပြုပြင်ခြင်း - ကြီးမားသောဒေတာအစုများအတွက်နောက်ခံသမဂ္ဂကွပ်မျက်ရန်အလုပ်များကိုလွှဲပြောင်းရန်စဉ်းစားနိုင်သည်။ ဥပမာအားဖြင့်, (ဥပမာ RabbitMQ ကဲ့သို့သော RAFUBITMQ) သို့မဟုတ်အလုပ်များကိုပြတ်သားစွာပြုပြင်ခြင်းအတွက်ချိုးဖောက်ခြင်းများကိုချိုးဖျက်ရန်သို့မဟုတ်အလုပ်များကိုချိုးဖောက်ခြင်း။
streaming streaming streaming streaming စာဖတ်ခြင်းနှင့်အတူ mySqli_result function ကိုအသုံးပြုခြင်းသည်ဒေတာအစုများနှင့်ဆက်ဆံရာတွင်မှတ်ဉာဏ်ပြတ်တောက်မှုပြ the နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ကျိုးကြောင်းဆီလျော်သောစုံစမ်းမှုဒီဇိုင်းဆွဲခြင်းဖြင့်စာဖတ်ခြင်းနှင့် paging နည်းပညာများအားဖြင့် System စွမ်းဆောင်ရည်နှင့်တည်ငြိမ်မှုကိုထိန်းသိမ်းနေစဉ် PHP တွင်ကြီးမားသောဒေတာများကိုထိရောက်စွာလုပ်ဆောင်နိုင်ပါသည်။
ဤဆောင်းပါးတွင်ဖော်ပြထားသောအကြံပြုချက်များသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပိုမိုကောင်းမွန်သောဒေတာဆိုင်ရာမေးမြန်းမှုရလဒ်ကိုပိုမိုကောင်းမွန်စေရန်နှင့်လျှောက်လွှာတည်ငြိမ်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေသည်။