You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OceanBase 4.2.1分区表已建索引仍查询极慢的原因咨询

OceanBase分区表查询性能异常问题

OceanBase版本

社区版4.2.1(MySQL模式)

在查询分区表时,OceanBase的性能比MySQL 5.7低10倍,即便已创建合适的索引。以下是可复现的最小示例:

表结构

CREATE TABLE partitioned_orders (
    order_id BIGINT PRIMARY KEY,
    user_id BIGINT NOT NULL,
    amount DECIMAL(20,2),
    create_time DATETIME NOT NULL,
    INDEX idx_user (user_id),
    INDEX idx_time (create_time)
) PARTITION BY RANGE(TO_DAYS(create_time)) (
    PARTITION p202301 VALUES LESS THAN (TO_DAYS('2023-02-01')),
    PARTITION p202302 VALUES LESS THAN (TO_DAYS('2023-03-01')),
    -- ...共12个分区
);

问题查询

-- 该查询在OceanBase中耗时4.8秒,MySQL中仅需0.3秒
EXPLAIN ANALYZE 
SELECT * FROM partitioned_orders 
WHERE user_id = 10085 
  AND create_time BETWEEN '2023-01-15' AND '2023-02-20';

执行计划(简化版)

IDOPERATOREST. ROWSCOSTTIME
0TABLE SCAN200253004834ms
partition: ALL

经测试,移除user_id条件后,查询仅扫描p202301、p202302分区,耗时0.2秒,且GV$OB_SQL_AUDIT中无锁或资源等待记录。

疑问

为何分区表已创建索引,查询速度仍极慢?


内容的提问来源于stack exchange,提问作者user30403414

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:50:54