在PolarDB对于这样一个查询需求,在哪些列上建立列存索引是合理的呢?

在PolarDB对于这样一个查询需求,在哪些列上建立列存索引是合理的呢?是在 device_id, phone, email 都建立吗,or 会不会导致列存索引失效?业务场景:
查询某些设备号、或手机号、或邮箱下支付成功的订单金额
select
ifnull(sum(amount), 0)
from
order
where
state = 2
and (
device_id in (
'device_id1', 'device_id2', 'device_id3'
)
or phone = 'phone1'
or email = 'email1'
)
;

展开
收起
三分钟热度的鱼 2024-05-23 08:26:08 55 分享 版权
1 条回答
写回答
取消 提交回答
  • 需要将sql涉及到的所有表都加上列索引,才会走列存执行 此回答整理自钉群“PolarDB专家面对面 - HTAP(列存索引) ”

    2024-05-23 09:51:28
    赞同 1 展开评论

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

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