维护索引和表

  即使使用正确的类型创建了表并加上了合适的索引,工作也米有结束:还需要韦斌表和所以你来确保他们都正常工作。维护表有三个主要的目的:找到并修复损坏的表,维护准确的索引统计信息,减少碎片。

  找到并修复损坏的表

  更新索引统计信息 records_in_range()和 info()

  减少索引和数据的碎片化

  

 

  总结

  在MySQL中大多数情况下都会使用b-tree索引。其他类型的索引大多只适用于特殊的盲目的。如果在核实的场景中使用索引,将会大大提高查询的响应时间3.

  在选择索引和编写利用这些索引的查询时,有如下撒个原则需要记住:

  1 单行访问是很慢的。特备是在机械硬盘存储中。如果服务器从存储中读取了一个数据块只是为了获取其中的一行,那么久浪费了很多工作。最好读取块中能包含尽肯能多所需要的行。使用索引可以创建位置引用以提升效率。

  2 按顺序访问范围数据是很快的,这有两个原因。第一,顺序io不需要多次磁盘寻道,所以比随机io要快得多。第二,如果服务器能够按需要顺序读取数据,那么久不在需要额外的排序操作,并且group by 查询也无需再最排序和将行按组进行聚合计算了。

  3 索引覆盖查询是很快的。如果一个素银包含了查询需要的所有列,那么存储引擎就不需要再回表找行。这避免了大量的单行访问,而上面的第一点已经写明单行访问是很慢的。

 

posted @ 2015-11-26 00:06  郑彦秋  阅读(230)  评论(0编辑  收藏  举报