首页 > 开发 > MySQL > 正文

从mysql查出200万数据有什么好的办法

2017-09-08 08:50:40  来源:网友分享

查询的时候老是崩溃

解决方案

不要用分页,查到后面越查越慢。
因为

limit 10000,100

这种那个10000是会查询然后丢弃的。
正确的做法是用游标。
假设你的游标字段为id

$cursor = 0;$size = 1000;do {$sql = 'SELECT * FROM user WHERE id > :id ORDER BY id DESC limit :size';$data = 执行查询得到的数组。$count = count($data);foreach($data as $row){    $id = $row['id'];//处理数据}// 当前条数不大于size,证明下面没数据了。if($count<$size){    break;}}while(true);

这种是利用mysql查询筛选【一部分你要的数据,不存在数据丢弃】。所以速度一直都很快