博客导读网

一个让你随便看看的地方

通过索引优化含ORDER BY的MySQL语句

推荐
Linux Pig - 探讨Linux相关技术的博客

关于建立索引的几个准则: 1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。 2、索引越多,更新数据的速度越慢。 3、尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB。但MyISAM不支持Transcation。 4、当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了。 5、习惯和强迫自己用EXPLAIN来分析你SQL语句的性能。 一个很容易犯的错误: 不要在选择的栏位上放置索引,这是无意义的。应该在条件选择的语句上合理的放置索引,比如where,order by。 例子: SELECT id,title,content,cat_id FROM article WHERE cat_id = 1; 上面这个语句,你在id/title/content上放置索引是毫无意义的,对这个语句没有任何优化作用。但是如果你在外键cat_id上放置一个索引,那作用就相当大了。 几个常用ORDER BY语句的MySQL优化: 1、ORDER BY + LIMIT组合的索引优化。如果一个SQL语句形如:   SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort] LIMIT [offset],[LIMIT]; 这个SQL语句优化比较简单,在[sort]这个栏位上建立索引即可。 2、WHERE + ORDER BY + LIMIT组合的索引优化,形如:   SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort] LIMIT[offset],[LIMIT]; [...]
原文地址:http://www.linuxpig.com/2011/08/mysql-order-by-optimize/

Linux Pig - 探讨Linux、IOS开发等技术的博客的其他文章
招商银行SWIFT CODE/BIC/BRANCH CODE一览表和其他银行查询方式 [ios开发] ios5 开发出现问题总结
[ios开发]UIButton实现文字竖排显示的一种方法 [ios开发]UILabel加粗字体方法
[ios开发]常用开源资源汇总 [ios开发]创建自己的TreeView 第一部分:创建结点类
[ios开发]创建自己的TreeView 第二部分:实现UITableViewDataSource接口 简单php爬虫程序
iPhone-NSAssert使用 自动生成tag程序大收集(auto tag)
更多...

© 2010 博客导读网 BlogABC.NET 本站所有内容皆由网友推荐而来,所有博文的版权归原作者所有,如有冒犯,请邮件告知。uncracker#gmail.com