PHP တွင် MySQLI_Result ရလဒ်များကိုကိုင်တွယ်သောအခါစွမ်းဆောင်ရည်နှင့်မှတ်ဉာဏ်ခြေရာခတ်ခြင်းများကိုသင်ကြုံတွေ့ရနိုင်သည်။ အထူးသဖြင့်ဒေတာအစုသည်အလွန်ကြီးမားသော, သမားရိုးကျပြုပြင်ထုတ်လုပ်မှုနည်းလမ်းများ (ထိုကဲ့သို့သောအချက်အလက်များအားလုံးကိုတစ်ပြိုင်နက်တည်း loading လုပ်ခြင်းကဲ့သို့သော) သည်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေပြီးမှတ်ဥာဏ်လျှံကိုဖြစ်စေနိုင်သည်။ တိုးတက်စေရန်အတွက် PHP မီးစက်ကို အသုံးပြုရန် PHP မီးစက်ကိုသုံးနိုင်သည်။
PHP တွင် မီးစက်သည် အချက်အလက်အားလုံးကိုတစ်ပြိုင်နက်တည်းတင်ခြင်းထက်အသေးစိတ်အချက်အလက်များကိုတစ်ဆင့်ချမှတ်နိုင်သည်။ ၎င်းသည်ကြီးမားသော Datasets များကိုကိုင်တွယ်ရန်အလွန်သင့်လျော်သည်, လိုအပ်ပါကဒေတာပစ္စည်းများကိုတစ်ခုချင်းစီကိုပြန်ပေးရန်လိုအပ်သည့်အခါမှတ်ဥာဏ်ခြေရာကိုလျှော့ချနိုင်သည်။
ပထမ ဦး စွာ MySQLI မှတဆင့်ဒေတာဘေ့စ်စုံစမ်းမှုကိုအကောင်အထည်ဖော်ရန်နှင့်ရလဒ်ကိုရရှိရန်လိုအပ်သည်။ ယေဘူယျအားဖြင့်ကျွန်ုပ်တို့သည် MySQLI_QUERY သို့မဟုတ် MYSQLI :: မေးမြန်းမှု နည်းလမ်းမှတဆင့်မေးမြန်းချက်များကိုကျွန်ုပ်တို့လုပ်ဆောင်နိုင်ပါသည်။
<?php
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
$query = "SELECT * FROM large_table";
$result = $mysqli->query($query);
ထို့နောက်ကျွန်ုပ်တို့သည် Requery Reary query ကိုလိုင်းအားဖြင့်ဖြစ်အောင်ထုတ်လုပ်ရန် မီးစက်ကို သုံးပါမည်။ ဤအရာကိုအားသာချက်မှာ MySQLI_RESULET တစ်ခုလုံးကိုတစ်ပြိုင်နက်တည်း loading လုပ်ရန်မလိုအပ်ပါ။
<?php
function fetchData($result) {
while ($row = $result->fetch_assoc()) {
yield $row; // လက်ရှိအတန်းဒေတာကိုပြန်သွားပါ
}
}
// အသုံးပြု generator လိုင်းအားဖြင့်ဒေတာလိုင်း process
foreach (fetchData($result) as $row) {
// ဒေတာတစ်ခုချင်းစီကိုအတန်းတိုင်းလုပ်ငန်းစဉ်
echo $row['column_name'] . "\n";
}
မီးစက်ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မေးမြန်းစုံစမ်းမှုအားလုံးကိုမဖွင့်ခြင်းကိုရှောင်ကြဉ်ခြင်းမှရှောင်ရှားခြင်းကိုရှောင်ကြဉ်သည်။ မီးစက်သည် နောက်ဆုံးတွင်ဖော်ပြထားသောရလဒ်မှလာမည့်အချက်အလက်များကိုရရှိပြီးလိုအပ်လျှင်မှတ်ဉာဏ်ကိုသာခွဲဝေချထားပေးသည်။ ၎င်းသည်ကြီးမားသော datasets များအတွက်အလွန်အသုံးဝင်ပြီးမှတ်ဉာဏ်အသုံးပြုမှုကိုသိသိသာသာလျှော့ချနိုင်သည်။
တစ်ချိန်တည်းမှာပင်, မီးစက် ၏ပျင်းရိသောမီးစက်၏အင်္ဂါရပ်သည်လည်းစွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။
ကြီးမားသောမေးမြန်းချက်များကိုကိုင်တွယ်ရာတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်စုံစမ်းမှုရလဒ်များကိုစနစ်တကျလုပ်ဆောင်ရန်သေချာစေရန်အရေးကြီးသည်။ ဒေတာဘေ့စ် connection ကိုပိတ်ရန်နှင့်အရင်းအမြစ်များကိုလွတ်မြောက်ရန်မမေ့ပါနှင့်။
<?php
// အရင်းအမြစ်များကိုအခမဲ့
$result->free();
$mysqli->close();
MySQLI_RESELT ကို ကိုင်တွယ်ရန် မီးစက်ကို အသုံးပြုခြင်းသည်လုပ်ငန်းများကိုစုံစမ်းရန်အကန့်အသတ်မရှိ။ ထုတ်လုပ်သူသည်အချက်အလက်များကိုလိုင်းဖြင့်တန်းစီနေသည့်မည်သည့်မြင်ကွင်းတွင်မဆို Generator သည် စွမ်းဆောင်ရည်နှင့်မှတ်ဉာဏ်ပိုမိုကောင်းမွန်စေနိုင်သည်။ ဥပမာအားဖြင့်စာဖတ်ခြင်း, မှတ်တမ်းကြီးတစ်ခု,
PHP မီးစက်ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် MySQLI_RESULETS ၏အပြောင်းအလဲများကိုသိသိသာသာလျှော့ချနိုင်ပြီးစွမ်းဆောင်ရည်တိုးတက်စေရန်နှင့်မှတ်ဉာဏ်အသုံးပြုမှုကိုလျှော့ချနိုင်သည်။ ရိုးရာအပြောင်းအလဲနည်းစနစ်များနှင့်နှိုင်းယှဉ်လျှင် မီးစက်များသည် အထူးသဖြင့်မှတ်ဥာဏ်အရင်းအမြစ်များအကန့်အသတ်ရှိသည့်အခါအချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါပိုမိုထိရောက်သောစွမ်းဆောင်ရည်ကိုပေးနိုင်သည်။ ထို့ကြောင့် Database မေးမြန်းချက်များစွာကိုရင်ဆိုင်ရသောအခါ မီးစက်ကို အသုံးပြုခြင်းအားဖြင့်စက်ချိန်သုံးရန်စဉ်းစားရန်အကြံပြုသည်။