开发者社区> 问答> 正文

数据库中使用索引查询一定能提高查询的性能吗?

为什么?

展开
收起
小黄鸭哈哈哈 2021-10-02 21:10:01 724 0
1 条回答
写回答
取消 提交回答
  • 通常,通过索引查询数据比全表扫描要快。但是我们也必须注意到它的代价。

    索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改。 这意味着每条记录的INSERT,DELETE,UPDATE将为此多付出4,5 次的磁盘I/O。 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢。使用索引查询不一定能提高查询性能,索引范围查询(INDEX RANGE SCAN)适用于两种情况:

    基于一个范围的检索,一般查询返回结果集小于表中记录数的30%

    基于非唯一性索引的检索

    2021-10-02 21:10:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载