你可以查1W条,然后按每个数据100条来分。
$data = select * from table limit 10000$chunk = array_chunk($data, 100)
print_r($chunk)
也可以每次查询 100 条
$start = 0while($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秒多。
测试结果:
现记录下抽象逻辑,作为笔记。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)