• 维护索引和表


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

      找到并修复损坏的表

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

      减少索引和数据的碎片化

      

      总结

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

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

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

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

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

  • 相关阅读:
    使用South时候由于两个相同id的文件引起的问题
    Python os模块
    Ubuntu的关机重启命令知识
    [BUGFIX]__import_pywin32_system_module__
    Django生产环境的部署-Apache-mod_wsgi
    我是如何将linux用在开发环境中的
    php抽奖概率算法
    PHP接收IOS post过来的json数据无法解析的问题
    python apache下出现The _imaging C module is not installed
    php 打印
  • 原文地址:https://www.cnblogs.com/zhengyanqiu/p/4996395.html
Copyright © 2020-2023  润新知