အချို့သောဒေတာဘေ့စ်စနစ်များ (အထူးသဖြင့် MySQL) သည်များသောအားဖြင့် queries များကိုရွေးချယ်ခြင်းမဟုတ်လျှင်ရှာဖွေခြင်းများမလိုအပ်ပါကရလဒ်ကို ရွေးချယ် သည့်အခါရလဒ်အတန်းအရေအတွက်အတန်းအရေအတွက်ကိုမရေတွက်ပါ။ ဤကိစ္စတွင် Rowcount () သည် Rowcount () သည်ဒေတာဘေ့စ်အင်ဂျင်ကိုရှာဖွေမှုကြောင့်အကျိုးသက်ရောက်သည့်အတန်းအရေအတွက်ကိုပြန်ပို့ရန်နောက်ထပ်စစ်ဆင်ရေးတစ်ခုပြုလုပ်ရန်ဖြစ်သည်။ ဤအပိုဆောင်းတွက်ချက်မှုသည်စုံစမ်းမှုနှေးကွေးစေလိမ့်မည်။
ကွဲပြားခြားနားသောဒေတာဘေ့စ်အင်ဂျင်များသည် rowcount () ကို အကောင်အထည်ဖော်သည့်အခါကွဲပြားခြားနားသောထိရောက်မှုရှိသည်။ Postgreqlql ကဲ့သို့သောဒေတာဘေ့စ်အင်ဂျင်အချို့ကိုထိရောက်စွာတွက်ချက်နိုင်ပြီးထိခိုက်နစ်နာသောအတန်းအရေအတွက်ကိုပိုမိုတွက်ချက်နိုင်သည်။
ဒေတာမေးမြန်းချက်ပမာဏသည်ကြီးမားသည့်အခါ RORCOUTE () သည် ဒေတာဘေ့စ်အင်ဂျင်ကို dataset တစ်ခုလုံးမှတစ်ဆင့်ပြုလုပ်ရန်သို့မဟုတ်ရေတွက်သည့်မေးမြန်းချက်များကိုလုပ်ဆောင်ရန်လိုအပ်လိမ့်မည်။ အထူးသဖြင့်အထူးအကောင်းမြင်ခြင်းမရှိဘဲမေးမြန်းခြင်း၏စွမ်းဆောင်ရည်ကိုသိသိသာသာလျှော့ချနိုင်သည်။ အကယ်. ဒေတာဘေ့စ်သည်အလွန်ကြီးမားသောဒေတာအစုများပေါ်တွင်လုပ်ဆောင်နေပါကအပိုဆောင်းအတန်းရေတွက်ခြင်းလုပ်ငန်းများသည်ပိတ်ဆို့မှုများဖြစ်လာနိုင်သည်။
အကယ်. သင်ရလဒ်ကိုရှာဖွေခြင်း၏ရလဒ်အစုကိုသာဂရုစိုက်ပါကအတန်းအရေအတွက်ကိုမထိခိုက်ပါကအလွယ်ကူဆုံးဖြေရှင်းနည်းမှာ Rowcount () ကို အသုံးပြုခြင်းကိုရှောင်ရှားရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, Selection Query ကိုကွပ်မျက်ခံရသည့်အခါ, RIV အတန်းအရေအတွက်ထက်အချက်အလက်များပြန်ပို့ခြင်းရှိမရှိကိုသင်သိရန်သာလိုအပ်ပါကရလဒ်ကိုလုပ်ငန်းစဉ်ကိုတိုက်ရိုက် ရယူရန် အကောင်းဆုံးဖြစ်သည်။
// မသုံးပါ rowCount Row Count Check ကိုလုပ်ဆောင်ပါ
$stmt = $pdo->query("SELECT * FROM users");
if ($stmt->fetch()) {
echo "ဒေတာရှိသည်";
} else {
echo "没ဒေတာရှိသည်";
}
စစ်ဆင်ရေး ကိုထည့်သွင်းခြင်း , update လုပ်ခြင်း နှင့် ဖျက်ခြင်း အတွက် Regcount () အသုံးပြုခြင်းသည်အသုံးဝင်သော်လည်း၎င်း၏စွမ်းဆောင်ရည်ကိုသေချာစွာသတိထားပါ။ အချက်အလက်များကိုအောင်မြင်စွာပြုပြင်မွမ်းမံခြင်းရှိမရှိကိုသင်သာဂရုစိုက်ပါက Roulcount () အပေါ်မှီခိုမည့်အစားလုပ်ဆောင်မှုရလဒ်များကိုတိုက်ရိုက်ကြည့်ရှုရန်စဉ်းစားနိုင်သည်။
// အသုံးပြု rowCount ထိခိုက် rigs ၏အရေအတွက်ကိုရယူပါ
$stmt = $pdo->prepare("UPDATE users SET name = :name WHERE id = :id");
$stmt->execute([':name' => 'အမည်အသစ်', ':id' => 1]);
// မှီခိုမဟုတ် rowCount တိုက်ရိုက်စီရင်ချက်
if ($stmt->rowCount() > 0) {
echo "Data Update ကိုအောင်မြင်စွာ";
} else {
echo "အဘယ်သူမျှမဒေတာကို updated ခဲ့သည်";
}
အကယ်. သင်အမှန်တကယ်မေးမြန်းခြင်း၏အတန်းအရေအတွက်ကိုသိရန်လိုအပ်ပါကအထူးသဖြင့် အကန့်အသတ် သို့မဟုတ် offset query ကို သုံး. Select _rows () ကို အသုံးပြုခြင်းသည်ပိုမိုထိရောက်သောရွေးချယ်မှုဖြစ်သည်။ MySQL တွင် found_rows () တွင်အချက်အလက်များကိုပြန်လည်တွက်ချက်ခြင်းမရှိဘဲယခင် ရွေးချယ်မှု ဆိုင်ရာစုံစမ်းမှုအစု၏အရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည်။
// အသုံးပြု FOUND_ROWS() query ရလဒ်အစုအတွက်အတန်းအရေအတွက်ကိုရယူပါ
$stmt = $pdo->query("SELECT SQL_CALC_FOUND_ROWS * FROM users LIMIT 10");
$stmt->fetchAll();
$rows = $pdo->query("SELECT FOUND_ROWS()")->fetchColumn();
echo "တွေ့ရသောအတန်းအရေအတွက်: $rows";
အချို့ဖြစ်ရပ်များတွင်ဒေတာဘေ့စ်အင်ဂျင်သည် MySQL ရှိ MySQL ရှိ အသေးစိတ် အချက်အလက်များကဲ့သို့သော optimization features များကိုထောက်ပံ့ပေးသည်။ အကယ် . query performance ကို Rowcount ကထိခိုက်ကြောင်းသင်တွေ့ရှိပါက, query ကိုယ်နှိုက်အထည်ကိုပိုမိုကောင်းမွန်စေရန်စဉ်းစားရန်လိုအပ်နိုင်သည်သို့မဟုတ် Datasets ကြီးများတွင်မလိုအပ်သောအတန်းများကိုရေတွက်ခြင်းများကိုရှောင်ရန်လိုအပ်နိုင်သည်။
// အသုံးပြု EXPLAIN စုံစမ်းမှု၏ကွပ်မျက်အစီအစဉ်ကိုကြည့်ပါ
$stmt = $pdo->query("EXPLAIN SELECT * FROM users WHERE name LIKE '%test%'");
var_dump($stmt->fetchAll());
PDostatement :: Rowcount () သည်အလွန်အဆင်ပြေသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင်စုံစမ်းမှုစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။ မလိုအပ်သောစွမ်းဆောင်ရည် overhead ကိုရှောင်ရှားရန် optimization ကိုအောက်ပါနည်းလမ်းများဖြင့်လုပ်ဆောင်နိုင်သည်။
Rowcount () မလိုအပ်သည့်နေရာကိုမသုံးပါနှင့်။
ဒေတာနောက်ဆုံးပေါ်လုပ်ငန်းများအတွက်, ကွပ်မျက်ရလဒ်များမှတစ်ဆင့်အောင်မြင်မှုရှိမရှိတိုက်ရိုက်အကဲဖြတ်ရန်စဉ်းစားပါ။
အထူးသ ဖြင့် စာမျက်နှာများပေါ်တွင်မေးမြန်းသည့် အခါ ,
MySQL တွင် (ဥပမာ, ရှင်းပြခြင်း နှင့်) MySQL တွင် (ဥပမာ, ရှင်းပြခြင်းနှင့် တွေ့ခြင်း ) ၏ optimization features များကိုရယူပါ။
ဤနည်းလမ်းများမှတစ်ဆင့် PDostatement :: Rowcount () rowcount () သည် သင်၏ PHP applications များကိုပိုမိုထိရောက်စေသည့်စွမ်းဆောင်ရည်ပြ problems နာများကိုသင်ရှောင်ရှားနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
PDOStatement