开发者社区> 问答> 正文

OceanBase数据库分区表创建了局部索引,执行计划中出现什么关键字,表示查询走了分区表的索引呢?

OceanBase数据库分区表创建了局部索引,执行计划中出现什么关键字,表示查询走了分区表的索引呢?局部索引名字嘛?
image.png

展开
收起
闲o月 2024-01-30 22:33:57 45 0
来自:OceanBase
3 条回答
写回答
取消 提交回答
  • 在OceanBase数据库中,查询计划(执行计划)会显示索引被使用的相关信息。当一个查询使用了分区表的局部索引时,查询计划通常会显示出该局部索引的名字,并且可能会包含以下关键信息或关键字:

    1. Index Name:局部索引的名称。
    2. Index ScanIndex Seek:表示查询执行过程中使用了索引扫描或索引查找操作。
    3. Partition PruningPartition Selection:如果查询仅访问了分区表的部分分区数据,则会显示分区剪枝的相关信息,表明索引帮助减少了需要扫描的分区数量。

    例如,在查询计划中,你可能会看到类似于这样的描述:

    Index Scan on table_name (index_name ...)
    Partition pruning: partition_key_values ...
    

    这里,“table_name”是分区表名,“index_name”是所使用的局部索引的名称,“Partition pruning”则意味着通过索引进行了分区级别的筛选优化。

    要确切了解OceanBase数据库查询计划中关于局部索引使用的详细表现形式,请参阅其官方文档提供的查询计划解读部分,以获得最新和最准确的信息。
    image.png

    image.png

    2024-01-31 11:31:46
    赞同 展开评论 打赏
  • 在OceanBase数据库中,执行计划(Execution Plan)是用于描述SQL查询如何被执行的一系列步骤。当查询涉及到分区表的局部索引时,执行计划通常会显示使用了该索引的相关信息。

    2024-01-31 11:02:42
    赞同 展开评论 打赏
  • 在OceanBase数据库中,当查询涉及分区表并且确实使用到了分区表上的局部索引时,在执行计划中会显示出该局部索引的相关信息。虽然具体的展现形式可能会随着OceanBase的不同版本而有所差异,但通常情况下,执行计划会包含以下关键信息:

    1. Index Name:执行计划中会显示使用的索引名称,这意味着如果查询利用了名为idx_local的局部索引,你会看到类似于idx_local的关键字。

    2. Access Path:访问路径部分会说明如何访问数据,例如,如果是通过索引扫描,则可能会显示INDEX SCANINDEX RANGE SCAN,同时指明所使用的索引名。

    3. Filter Conditions:在过滤条件部分,可能会明确指出哪些查询条件与索引列相关联,从而间接证明了索引的使用。

    4. Table Access:对于分区表,可能会显示类似PARTITION (/*+ INDEX(part_table idx_local) */)这样的注释,表明在访问特定分区时使用了指定的索引。

    请注意,要确切知道OceanBase数据库查询是否走的是局部索引,最佳方式是直接查看执行计划的详细输出,并查找与索引扫描相关的部分以及提及到具体索引名称的地方。如果你想要获得关于特定查询是否有效利用了局部索引的确切证据,请实际执行EXPLAIN PLAN或其变体(如SHOW TRACE或图形化的执行计划工具)来获取执行计划信息。

    2024-01-31 09:31:14
    赞同 1 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载