MySQL创建高性能索引可以帮助台湾服务器解决哪些问题?

作者:港云互联 时间:2019-10-14


        索引可以让台湾服务器快速地定位到表的指定位置。但是这并不是索引的唯一作用,到目前为止可以看到,根据创建索引的数据结构不同,索引也有一些其他的附加作用。

台湾服务器


        最常见的B- Tree索引,按照顺序存储数据,所以MySOL可以用来做ORDER BY和GROUP  BY操作。因为数据是有序的,所以B-T也就会将相关的列值都存储在一起。最后,因为索引中存储了实际的列值,所以某些在前只使用索引就能够完成全部查询。据此特性,总结下来索引有如下三个优点:



1.索引大大减少了台湾服务器需要扫描的数据量。



2.索引可以帮助服务器避免排序和临时表。



3.索引可以将随机I/O变为顺序I/O。



        “索引”这个主题完全值得单独写本书,如果想深人理解这部分内容,强烈建议阅读由Tapio Lahdenmaki和Mike Leach编写的Relational Database Index Design and theOpimizers (Wiley 出版社)一书,该书详细介绍了如何计算索引的成本和作用、如何评估查询速度、如何分析索引维护的代价和共带来的好处等。



        Lahdenmaki和Leach在书中介绍了如何评价一个索引是否适合某个查询的“三星系统"(three star system) :索引将相关的记录放到一起则获得 一星;如果索引中的数据顺序和查找中的排列顺序一致则获得 二星↓如果索引中的列包含了查询中需要的全部列则获得“三星”。后面我会介绍这些原则。



索引是最好的解决方案吗?



        索引并不总是最好的工具。总的来说,只有当索引帮助存储引擎快速查找到记录带来的好处大于其带来的额外工作时,索引才是有效的。对于非常小的表,大部分情况下简单的全表扫描更高效。对于中到大型的表,索引就非常有效。但对于特大型的表,建立和使用索引的代价将随之增长。这种情况下,则需要-一种技术可以直接区分出查询需要的一组数据,而不是一条记录一条记录地匹配。例如可以使用分区技术。


新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线