开发者社区 > 数据库 > 关系型数据库 > 正文

PolarDB有一个表加了索引但是查询没有使用吗 ?

PolarDB有一个表加了索引但是查询没有使用吗 ?image.png
image.png

展开
收起
真的很搞笑 2024-02-08 13:53:55 60 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    PolarDB中,即使表上加了索引,查询也可能不会使用索引。这通常是因为优化器在执行查询时会根据成本来选择是否使用索引。如果优化器认为全表扫描的成本更低,那么它可能会选择不使用索引。

    要解决这个问题,可以尝试以下方法:

    1. 检查查询语句是否可以优化,以使其更适合使用索引。例如,确保查询中的条件列与索引列匹配,避免在索引列上使用函数等。

    2. 分析查询的执行计划,查看是否使用了索引。如果没有使用索引,可以尝试强制使用索引,例如在查询语句中添加FORCE INDEX子句。

    3. 如果上述方法仍无法解决问题,可以考虑调整索引结构,例如创建组合索引或调整索引顺序等。

    4. 如果问题仍然存在,可以联系PolarDB技术支持寻求帮助。

    2024-02-17 08:49:23
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,据我所知在阿里云PolarDB中,有时候会遇到一个表加了索引但查询没有使用的情况,这可能是由于统计信息不准确,PolarDB使用统计信息来做查询优化,如果统计信息不准确或者过期,就可能导致查询计划选择不正确的索引,你可以通过手动收集统计信息或者使用自动收集统计信息功能来解决这个问题。

    还有就是查询条件不准确,如果查询条件不准确或者无法满足索引的选择度,就可能导致查询优化器选择全表扫描而不是使用索引,你可以通过优化查询条件来改善查询性能。

    2024-02-09 12:28:27
    赞同 展开评论 打赏

阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。

相关产品

  • 云原生数据库 PolarDB
  • 相关电子书

    更多
    PolarDB+AnalyticDB助力交通物流行业系统升级 立即下载
    PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载