我的用例:
我有多个脚本以每秒几次插入的顺序插入到表中。我看到性能下降,所以我认为“批处理查询”和每分钟左右插入几百行会带来性能优势。
问题:
我将如何使用 mysqli 执行此操作?我当前的代码使用包装器(pastebin),看起来像:
$array = array();\\BIG ARRAY OF VALUES (more than 100k rows worth)
foreach($array AS $key => $value){
$db -> q('INSERT INTO `player_items_attributes` (`column1`, `column2`, `column3`) VALUES (?, ?, ?)', 'iii', $value['test1'], $value['test2'], $value['test3']);
}
笔记:
我查看了使用事务,但听起来那些仍然会访问服务器,而不是排队。我更喜欢使用包装器(随意建议一个与我当前提供的功能相似的包装器),但如果不可能,我会尝试将建议构建到我使用的包装器中。
资料来源:
Wrapper 来自这里
编辑: 我正在尝试优化表速度,而不是脚本速度。该表有超过 3500 万行,并且有几个索引。