美文网首页Android开发
索引好处有哪些?索引总是最佳的解决方案吗?

索引好处有哪些?索引总是最佳的解决方案吗?

作者: 岛上码农 | 来源:发表于2021-01-02 20:50 被阅读0次

索引使得服务器能够快速定位到数据表中的位置,但这不是索引的全部好处。基于索引创建的数据结构的不同,索引还有一些其他的好处。

二叉树索引是最常用的一种方式,通过将数据有序排列,MySQL可以把这个特点利用在ORDER BY和GROUP BY上。由于数据已经提前排好序了,二叉树同样会将相关的值邻近存储。最终,索引实际上存储了一个数据值的副本,因此有些查询可以仅仅通过索引就查询出来。索引主要有如下好处:

  1. 减少查询的数据量;
  2. 避免通过临时表进行排序;
  3. 将随机I/O访问转变为顺序I/O。

那么索引是不是最佳的解决方案呢?

事实上,索引并不是总是合适的。总体来说,在帮助存储引擎简化数据行查找的应用上绝大部分时候有效。但对于很小的表来说,直接将数据行全部读入更有效;对于中大型数据表,索引效果时分明显;对于超大型的数据表,对于需要使用索引的场合,索引带来的开销会逐步加重。对于这种情况,需要使用数据行查询的热度分组技术,例如分表技术。

如果数据表很多,可以根据查询热点数据的特性,创建一个中间表辅助查询。例如,在一个数据分表的多租户应用中,你需要进行数据聚合查询。你可以将对应的租户信息和对应的表信息存储在一张表里,这可以让你忽略那些没有对应用户信息的数据表。这种方式通常在大的数据级别有用。对于TB级别,在每个数据行做标记没有意义,索引被块数据(pre-block metadata)替换了。

相关文章

  • 索引好处有哪些?索引总是最佳的解决方案吗?

    索引使得服务器能够快速定位到数据表中的位置,但这不是索引的全部好处。基于索引创建的数据结构的不同,索引还有一些其他...

  • Mysql索引失效

    mysql 索引失效的原因有哪些?Mysql索引失效的原因 1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原...

  • Mysql面试题

    文章目录 MySQL 索引使用有哪些注意事项呢?索引哪些情况会失效索引不适合哪些场景 MySQL 遇到过死锁问题吗...

  • 24个经典的MySQL索引问题,你都遇到过哪些?

    索引 1、什么是索引? 2、索引有哪些优缺点? 3、索引使用场景(重点) 4、索引有哪几种类型? 5、索引的数据结...

  • 索引背后的数据结构和算法原理

    提问:常见索引有哪些? 1、索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数...

  • mysql&redis(面试题记)

    mysql 1、多表连接2、子查询3、索引都有哪些,索引能解决什么问题 ,如何创建索引,建索引有什么原则,索引的底...

  • 20、MySQL 索引类型有哪些?

    MySQL 索引类型有哪些? 主键索引 索引列中的值必须是唯一的,不允许有空值。 普通索引 MySQL中基本索引类...

  • java高频面试总结(mysql篇)

    1.mysql常用的索引有哪些种类? 答:1)普通索引:针对数据库表创建索引2)唯一索引:索引列值必须唯一,允许有...

  • ES操作

    查询有哪些索引 创建索引 关闭和打开索引在处理elasticsearch的时候,通常需要不断地调整索引的配置,以期...

  • MySql索引详解

    常见索引类型(实现层面) 索引种类(应用层面) 聚簇索引与非聚簇索引 覆盖索引 最佳索引使用策略 1.常见索引类型...

网友评论

    本文标题:索引好处有哪些?索引总是最佳的解决方案吗?

    本文链接:https://www.haomeiwen.com/subject/kvhyoktx.html