php - 数据量太大,分页查询变慢,有什么优化查询的方法吗?

查看:912
本文介绍了php - 数据量太大,分页查询变慢,有什么优化查询的方法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

由于用户记录太多(300万),导致分页查询变得很慢,如何优化语句或者索引?大家有什么优化方案吗?

补充内容:
谢谢大家的方案,我看的很受启发,但结合我的这个情况来说比较特殊,不太适用。具体情况如下:
1当用户打开参与记录页面时候,要显示最新参与的10个人的记录。(这10个人的记录并不是用户参与记录表之中最新的的那十条数据而是加WHERE条件筛选出来的十条数据。)
2最新的参与10个人的数据是从两个表中拿取得(用户信息表,用户参与记录表)。
3要保证用户能翻下一页数据,上一页数据。
现在查数据是连接两个表,WHERE两个表的条件,然后limit的数据。这样太慢了,所以想问下有什么优化方案?

解决方案

1.不要在不加条件的情况下用limit,limit 1000,20会从0~10002扫描
2.记住上一页最后一个用户主键,分页用select * from user where uid>lastUid limit pagesize
3.数据一致性要求不高,考虑应用于数据库中间加一层缓存

这篇关于php - 数据量太大,分页查询变慢,有什么优化查询的方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆