PHP mysql 分批查询

PHP mysql 分批查询,第1张

你可以查1W条,然后按每个数据100条来分。

$data = select * from table limit 10000

$chunk = array_chunk($data, 100)

print_r($chunk)

也可以每次查询 100 条

$start = 0

while($data = select * from table limit $start, 100)

{

print_r($chunk)

$start += 100

}

for($i=0$i<1000$i=$+100){

"SELECT * FROM tbl_name ORDER BY key_id DESC LIMIT {$i},{$i+100}"

}

CPU是8核。遇到个总数据量2.7亿,in字段几万个参数的场景,查询很慢。在in中参数小于等于100时,查询性能良好。于是用Fork/Join优化查询。性能提升明显,对于5万个参数,从超时减少到3秒多。

测试结果:

现记录下抽象逻辑,作为笔记。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8403214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存