本文摘自PHP中文网,作者藏色散人,侵删。
接上一节《百万数据mysql分页问题》,我们加上查询条件:1 2 3 4 5 | select id from news
where cate = 1
order by id desc
limit 500000 ,10
查询时间 20 秒
|
好恐怖的速度!!利用第一节《百万数据mysql数据测试环境介绍》知识进行优化:
1 2 3 4 5 | select * from news
where cate = 1 and id > (select id from news where cate = 1 order by id desc limit 500000,1 )
order by id desc
limit 0,10
查询时间 15 秒
|
优化效果不明显,条件带来的影响还是很大!在这样的情况下无论我们怎么去优化sql语句就无法解决运行效率问题。那么换个思路:建立一个索引表,只记录文章的id、分类信息,我们将文章内容这个大字段分割出去。
1 2 3 4 | 表 news2 [ 文章表 引擎 myisam 字符集 utf-8 ]
-------------------------------------------------
idint11主键自动增加
cateint11索引
|
在写入数据时将2张表同步,查询是则可以使用news2 来进行条件查询:
阅读剩余部分
相关阅读 >>
mysql加密函数有哪些?
mysql怎么设置表名?
gorm操作mysql的实现
mysql 如何利用分片来解决 500 亿数据的存储问题
详细讲解mysql全局变量与局部变量
如何搭建 mysql 高可用高性能集群
mysql数据库服务器端核心参数详解和推荐配置
mysql8.0.23 msi安装超详细教程
图文详解mysql中如何查看sql语句的执行时间
mysql多表联合查询操作实例分析
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 百万数据下mysql条件查询及分页查询的注意事项