mysql 亿级查询优化(分页)

来源:互联网 发布:linux 开机卡在进度条 编辑:程序博客网 时间:2024/05/29 14:35

最近项目上遇到一个比较蛋疼的事情,有一个表大概亿级,目前需要查询表中的某字段。并对该字段进行字符串切割和正则匹配,按正常查询全部提到内存不现实,分页按limit基本上几万行几十万行后的数据耗费的时间越来越多,时间成本过高。

解决办法:通过索引

表的索引是id,虽然查询的字段不需要和id相关联,但是通过 id between进行分页,可以大大提高查询的速度,sql如下:

    $sql="SELECT xx FROMxx WHERE id BETWEEN ".start." AND ".end;

只需要对start和end进行一个循环即可在几分钟内查询完所有字段数据(包括处理过程),大大缩减了时间成本。