本文摘自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中21个写sql的好习惯
mysql索引详解(总结)
mysql数据库怎么创建数据表
浅析mysql 锁和事务
mysql怎么添加汉字
mysql优化的几种方法
mybatis的逆向工程的解析及简单教程(附代码)
mysql engine表示什么
phpstorm如何通过ssh连接mysql数据库
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 百万数据下mysql条件查询及分页查询的注意事项