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

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

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

展开
收起
三分钟热度的鱼 2024-06-27 07:47:36 8 0
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 展开评论 打赏

相关产品

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

    更多
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
    2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
    2023云栖大会:PolarDB for AI 立即下载