PolarDB这个查询走了列查询,花费9s,是为什么,能解决吗?

我们有个SQL,走普通查询是毫秒级,但是因为实例开了列存索引,PolarDB这个查询走了列查询,花费9s,是为什么,能解决吗?lQLPJv8yTWszFynNArXNBN-wyfVVKo9at7QGYBiGKfN-AA_1247_693.png

展开
收起
三分钟热度的鱼 2024-06-27 07:47:36 67 分享 版权
1 条回答
写回答
取消 提交回答
  • 从执行计划看,行存执行计划只需要单表扫描索引+少量回表即可,而列存需要进行多次join,这是两者执行时间差异大的原因。你可以通过outline将执行计划使用hint让sql固定走行存。lQLPKHUEPqm1AonNAiPNBaSwyrQZ-wi9DBMGYBvlV1OSAA_1444_547.png
    连接集群地址或者主节点,执行: call dbms_outln.add_optimizer_outline('库名','',1,'/+ SET_VAR(use_imci_engine=off) / ', "用户SQL");
    https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/statement-outline 此回答整理自钉群“PolarDB专家面对面 - HTAP(列存索引)”

    2024-06-27 08:43:08
    赞同 1 展开评论

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

还有其他疑问?
咨询AI助理