ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်သောအခါဒေတာများကိုထည့်သွင်းခြင်းအားဖြင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပေးသည်။ PHP သည်ဤစစ်ဆင်ရေးကိုပိုမိုကောင်းမွန်စေရန်နည်းလမ်းများစွာကို array_chunk သည်ကြီးမားသောလက်တွေ့ကျသောကိရိယာများကိုသေးငယ်သည့်တပ်ဆင်ထားသည့်စစ်ဆင်ရေးများကိုထိရောက်စွာဖြတ်တောက်ခြင်း,
Array_chunk သည် PHP တွင် Array function တစ်ခုဖြစ်သည်။ သေးငယ်တဲ့ array တစ်ခုချင်းစီမှာရှိတဲ့ဒြပ်စင်အရေအတွက်ကိုသင်သတ်မှတ်နိုင်ပါတယ်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ array : ဖြတ်ခံရဖို့လိုအပ်တဲ့ array ။
$ အရွယ်အစား - သေးငယ်တဲ့ array တစ်ခုစီ၏အရွယ်အစား။
$ Presentify_Keys : မူရင်းခင်းကျင်းမှု၏သော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းရန်ရှိမရှိ, ပုံမှန်သည် မှား သည်။
ဒေတာဘေ့စ်သို့ဒေတာအသုတ်တစ်ခုထည့်ရန်လိုအပ်သည်ဆိုပါစို့။ တ ဦး တည်းအားဖြင့်တ ဦး တည်းထည့်သွင်းခြင်းကမတတ်နိုင်သောကြောင့်, ဒေတာများကိုသေးငယ်သောအရာများသို့ခုတ်လှဲရန်ကျွန်ုပ်တို့ကို array_chunk ကို သုံးနိုင်သည်။
array_chunk ကို သုံး. အသုတ်သွင်းခြင်းကိုအကောင်အထည်ဖော်ရန်ဥပမာတစ်ခုမှာ -
<?php
// ဒေတာအရင်းအမြစ်များကိုတုပ
$data = [
['name' => 'Alice', 'email' => 'alice@m66.net'],
['name' => 'Bob', 'email' => 'bob@m66.net'],
['name' => 'Charlie', 'email' => 'charlie@m66.net'],
// ...နောက်ထပ်အချက်အလက်များ
];
// တစ်ခုချင်းစီကိုသုတ်တစ်ခု၏အရွယ်အစားကိုသတ်မှတ်
$batchSize = 100;
// အသုံးပြု array_chunk ဒေတာကိုသေးငယ်တဲ့သုတ်အဖြစ်ခွဲ
$dataChunks = array_chunk($data, $batchSize);
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
// ငွေပေးငွေယူတစ်ခုစတင်ပါ
$pdo->beginTransaction();
foreach ($dataChunks as $chunk) {
// Batch Inserts ကိုတည်ဆောက်ပါ SQL အသေအချာပေြာဆိုချက်
$placeholders = [];
$values = [];
foreach ($chunk as $row) {
$placeholders[] = "(?, ?)";
$values[] = $row['name'];
$values[] = $row['email'];
}
// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$sql = "INSERT INTO users (name, email) VALUES " . implode(", ", $placeholders);
$stmt = $pdo->prepare($sql);
// အသုတ်သွင်းလုပ်ဆောင်ပါ
$stmt->execute($values);
}
// တင်သွင်းမှုတင်သွင်း
$pdo->commit();
echo "ဒေတာထည့်သွင်းပြီးစီးခဲ့သည်!";
?>
ဒေတာအရင်းအမြစ် - အသုံးပြုသူ၏အမည်နှင့်အီးမေးလ်လိပ်စာပါ 0 င်သောအချက်အလက်များအစုတခုကို Simulated လုပ်ပြီး အီးမေးလ် ဒိုမိန်းကို M66.net ဖြင့်အစားထိုးလိုက်သည်။
Batch Processing - အချက်အလက်များကိုသတ်မှတ်ထားသောအရွယ်အစား (ဥပမာ, 100) တွင်အချက်အလက်များကိုခွဲထားရန် (ဥပမာ, 100) တွင်အချက်အလက်များကိုထည့်သွင်းရန် array_chunk ကို အသုံးပြုသည်။
ငွေပေးချေမှုအပြောင်းအလဲအတွက် - ဒေတာရှေ့နောက်ညီညွတ်မှုနှင့်စွမ်းဆောင်ရည်ကိုသေချာစေရန်ဒေတာဘေ့စ်အရောင်းအ 0 ယ်များကိုကျွန်ုပ်တို့ဖွင့်ပေးသည်။ ဤနည်းအားဖြင့်ထည့်သွင်းမှုဖြစ်စဉ်တွင်ပျက်ကွက်မှုရှိပါကအချက်အလက်များ၏သမာဓိကိုထိန်းသိမ်းရန်စစ်ဆင်ရေးအားလုံးကိုပြန်လှိမ့်နိုင်သည်။
Batch Insert SQL : ကျွန်ုပ်တို့သည် SQL ထုတ်ပြန်ချက်များအားဒိုင်းနယမ်းရှင်းရှင်းလင်းလင်းတည်ဆောက်ခြင်းဖြင့်အသုတ်ကိုထည့်သွင်းသည်။ ဒီဥပမာမှာ Batch တစ်ခုစီအတွက်ထည့်သွင်းမှုတစ်ခုချင်းစီအတွက် ကြေငြာချက် တစ်ခုစီအတွက်ဒေတာတစ်ခုစီကို SQL ကြေငြာချက်တစ်ချောင်းကိုနေရာချထားပေးတယ်။
ကျိုးကြောင်းဆီလျော်စွာအသုတ်အရွယ်အစားကိုသတ်မှတ်ပါ - array_chunk ၏အသုတ်အရွယ်အစားသည်စွမ်းဆောင်ရည်ကိုထိခိုက်သောအရေးကြီးသောအချက်တစ်ချက်ဖြစ်သည်။ အကယ်. အသုတ်သည်သေးငယ်လွန်းပါကအချိန်ကိုအကြိမ်ပေါင်းများစွာသည်အချိန်တိုင်းတွင်ပြုလုပ်သောအချိန်ကိုဖြည့်ဆည်းပေးနိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်ပျက်စီးခြင်းသို့ရောက်လိမ့်မည်။ အကယ်. အသုတ်သည်ကြီးမားလွန်းပါက၎င်းသည်မှတ်ဥာဏ်အလွန်အကျွံသောက်သုံးခြင်းသို့မဟုတ်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုအချိန်ကုန်သို့ချိတ်ဆက်နိုင်သည်။ ထို့ကြောင့်သင့်လျော်သောအသုတ်အရွယ်အစားကိုအမှန်တကယ်အခြေအနေနှင့်အညီချိန်ညှိရန်လိုအပ်သည်။ ဘုံအသုတ်အရွယ်အစားသည် 100 သို့မဟုတ် 1000 ဖြစ်သည်။
အရောင်းအ 0 ယ်များအသုံးပြုခြင်းသည် အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်းအရောင်းအ 0 ယ်များကိုဖွင့်ခြင်းနှင့်အသုတ်ထည့်သွင်းမှုများကိုလုပ်ဆောင်သောအခါစွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။
အမှားကိုင်တွယ်ခြင်း - အမှန်တကယ်စီမံကိန်းများအနေဖြင့်,
array_chunk ကို အသုံးပြုခြင်းအားဖြင့်အချက်အလက်အမြောက်အများကိုအသုတ်အသုတ်များဖြင့်ဖြတ်တောက်နိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရုံသာမကမှတ်ဥာဏ်အလွန်အကျွံသုံးစွဲမှုကိုလည်းရှောင်ရှားသည်။ တစ်ချိန်တည်းမှာပင်ငွေသွင်းခြင်းလုပ်ငန်းစဉ်နှင့်ပူးပေါင်းလုပ်ဆောင်ခြင်းသည်ဒေတာရှေ့နောက်ညီညွတ်မှုနှင့်သမာဓိရှိမှုကိုသေချာစေနိုင်သည်။ ၎င်းသည်အချက်အလက်များကိုစကေးတွင်လုပ်ဆောင်သည့်အခါအလွန်ထိရောက်သောဖြေရှင်းနည်းတစ်ခုဖြစ်သည်။