请说明数据库在什么情况下需要索引?它能提高哪些方面的性能?而又会降低哪些方面的性能?
回答·6
最热
最新
- 1 什么时候给你的 word 文档加目录?你文档特别长,你想快速查到指定地方的时候 2.检索 3.降低性能倒不至于吧,除非你滥用索引,或者你的数据量大到索引也特别大,可能会影响你的增删改操作,因为你既然有目录,那在增加或者修改删除的时候记得相应维护你的目录,一些顺利的话费点 cpu 算力和磁盘存储。
- 索引,索引,就是检索引导,类似于一条捷径,这条捷径让你能够快速定位到你要查找的目标,但是,如果捷径太多,路就多了,每增加一个索引,每一行数据就多对应一条路,每增加一行,就要去多修索引数量条路。 综上所述,索引可以用于快速检索信息, 提高检索效率,提高了查找的性能。如果你有一些分布相对均匀的列,而且业务上有根据这些列来检索数据的需求,那么你可以把他们设置为索引。但是索引是需要进行维护的,每次插入新数据的时候,都需要重建索引,因此索引影响插入操作的性能。
- 由于源表列非常多,部分列内容很长,为了降低这些列的影响,把经常用于查询的列拿出来,单独做一张表,叫做索引表,就按照这个思路去考虑你那几个问题吧
- 关联字段,排序字段,统计字段
- 数据库记录是无序的,所以查找只能顺序算法效率是 O(n),为了想查得快点,找个字段排个序,那么算法效率就能达到 O(log2(n))这就是索引,由于索引在底层增加了“索引表”(红黑,Avl 都有可能),那么 增、 删 、改 就需要多操作一份数据。 所以 索引提高查询效率,但会增加修改负担。在哪里用那就很明显了。
- 加上索引,最明显的就是提高查询效率