问题描述
对于索引的一些概念我能理解,但是实际应用可能还不太清晰! 假如一张表, 加了一些没有必要的索引,很少用到, 那么 select * from table 会是加快速度呢,还是减慢,还是没变! 麻烦讲的通俗易懂些!!!
解决方案
对查询基本没有影响,但对插入和更新那个字段的时候会影响比较大,因为涉及到索引的重新整理。这就是很多数据库专家给的建议:索引不是越多越好,而是要根据更新频率和查询频率来具体对待。
解决方案二:
如果只是select * from table这种的话,那么是不走索引的,直接全表扫描,即使你建了索引也没什么用
解决方案三:
有索引必然会增加查询速度,如你所说,无用的索引起到的优化的作用比较小,好的索引能在查询时提高速度1到2个数量级.[索引的缺陷是会降低维护表的效率]
解决方案四:
其实很简单,你插100W记录进去,然后where子句中将索引放最前面做查询,你会发现查询速度快了很多,在没索引的时候,数据库会先遍历整张表,而有索引的话,它会先在索引中查找,我的理解就像翻书一样,有目录看起来更快,但是你一加东西进去,目录就要改变。在插入和更新表数据的时候,索引也会更新,如果表数据不大,就没必要建立太多索引。我有张800W的数据表,因为种种历史原因,一直没做分割,现在就靠索引来实现查询的速度
时间: 2024-10-31 15:30:20