MySQL排序原理分析

2008-11-02 14:32:33  |   才被阅读:1,814 次  |   要评论?
分类: MySQL优化设计  |   发布: OurMySQL  |   来源:丹臣
标签: ,

以上两种方法,一种是老方法,另外一种是改进的方法。两种方法各有自己的优缺点。第一种方法,对sort_buffer_size的占用主要是排序的字段以及一个row pointer,这种方式对排序内存的占用较少,可以有效的减少磁盘排序,但坏处也相当的明显,要对表进行两次扫描,第二次是要根据排好序的字段的row pointer指针回表取数据,这种方式,随着排序行数的加大,对时间的消耗将会变得无法忍受(类似于oracle的nested loop)。老方法受到两个参数的影响:sort buffer size以及read_rnd_buffer_size。

如果采用改进型方法,这种新方法,只会扫描表一次,由于在一次扫描表时,取出了查询所有需要的字段,不仅包括排序字段,全都要放在排序内存(sort buffer)里,对排序内存的需求量比较大一些,如果是对少量结果集进行排序,这种新方法与老方法的性能差异并不会太明显(此前提是在并发量较低的情况下,如果这样的排序的SQL执行频率较高,那么新方法相对老方法,优势也比较明显),因为老方法在经过第一次数据扫描后,需要排序的少量的行都在内存里,第二次也只是到内存里取,这个速度相对来说,还是比较快的。如果是大量行的排序,新方法的优势便会体现出来。

对于少量行的排序,这个工作,还是交给应用层来做最合适,也多不了几行代码。

继续阅读全文...

mysql索引优缺点及注意事项

2008-10-29 15:21:58  |   才被阅读:1,348 次  |   要评论?
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:马永占
标签:

索引的优缺点及需要注意的9个地方

继续阅读全文...

MySQL 索引总结

2008-10-27 22:02:13  |   才被阅读:1,241 次  |   要评论?
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:任喜军
标签:

由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总结和体会。

继续阅读全文...

MySQL MyIsam 存储引擎索引长度限制测试记录

2008-10-24 23:25:13  |   才被阅读:1,389 次  |   要评论?
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:AlibabaDBA
标签: ,

MySQL MyIsam 存储引擎在创建索引的时候,索引键长度是有一个较为严格的长度限制的,所有索引键最大长度总和不能超过1000,而且不是实际数据长度的总和,而是索引键字段定义长度的总和。

继续阅读全文...

MYSQL索引和优化详细说明教程

2008-09-30 11:52:40  |   才被阅读:1,353 次  |   要评论?
分类: MySQL基础知识  |   发布: OurMySQL  |   来源:平凡的世界
标签: ,

在大型数据库中,索引是提高速度的一个关键因素。不管表的结构是多么简单,一次500000行的表扫描操作无论如何不会快。如果你的网站上也有这种大规模的表,那么你确实应该花些时间去分析可以采用哪些索引,并考虑是否可以改写查询以优化应用。要了解更多信息,请参见MySQL manual。另外注意,本文假定你所使用的MySQL是3.23版,部分查询不能在3.22版MySQL上执行。

继续阅读全文...