MYSQL 索引的优点

  索引最常说的作用就是可以让服务器快速的定位到表的指定位置、但是这并不是索引唯一的作用,到目前位置可以看到,根据索引创建的数据结构的不同,索引也有一些其他的作用

  最常见的B-Tree索引,按照顺序进行存储数据,所以MYSQL可以用来order by和group by。因为数据是有序的,所以B-Tree也可以将相关的列值都存储在一起。因为索引存储了实际的列值,所以就可以完全使用索引进行查询(覆盖索引)。由此得出索引有如下三个优点

  (1)索引大大减少了服务器需要扫描的数据量。

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

  (3)索引可以将随机IO变为顺序IO

  索引并不总是最好的工具。总的来说,只有索引能够帮助存储引擎快速查找到记录带来的好处大于其所带来的额外工作时,索引才是有效的。对于非常小的表,大部分情况下简单的全表扫描更高效。对于中到打星的表,索引就非常有效。但对于特大型的表,简历和使用索引的代价将随之增长。这中情况下就需要区分出查询需要的一组数据,而不是一条记录一条记录的匹配,这就是分区技术,在此不做赘述。

  如果表的数量特别多的话,可以建立一个元数据信息表。用来查询需要用到的某些特性。比如,执行哪些需要聚合多个应用分布在多个表的数据的查询,则需要记录哪个用户的信息存储在哪个表中的元数据,这样在查询时就可以直接忽略那些不包含指定用户信息的表。

猜你喜欢

转载自www.cnblogs.com/tijie/p/10639107.html