首页 > 开发 > 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查询筛选【一部分你要的数据,不存在数据丢弃】。所以速度一直都很快