开发者社区> 问答> 正文

使用索引查询一定能提高查询的性能吗?为什么

使用索引查询一定能提高查询的性能吗?为什么

展开
收起
请回答1024 2020-03-31 10:48:47 1059 0
1 条回答
写回答
取消 提交回答
  • 通常,通过索引查询数据比全表扫描要快。但是我们也必须注意到它的代价。

    1. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改。 这意味着每条记录的INSERT,DELETE,UPDATE将为此多付出4,5 次的磁盘I/O。 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢。使用索引查询不一定能提高查询性能,索引范围查询(INDEX RANGE SCAN)适用于两种情况:
    2. 基于一个范围的检索,一般查询返回结果集小于表中记录数的30%
    3. 基于非唯一性索引的检索
    2020-03-31 10:49:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
MySQL查询优化实战 立即下载
Phoenix 全局索引原理与实践 立即下载