暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss/MogDB分区表的GLOBAL和LOCAL索引区别-索引列

原创 Maleah 2024-05-17
603

一、现象

使用工具查看主键索引,发现有两列,但是创建索引明明只有一列
image.png
image.png

数据库版本:
image.png

二、现象原因

该索引为分区表的主键索引,为local索引,在创建索引时除了表的指定列,还包含tableoid列

三、补充测试

1、普通表

普通表的主键约束:只包含主键列
image.png

2、分区表主键也是分区键

分区表主键也是分区键,主键索引是local,只包含主键列

image.png

3、分区表主键非分区键

分区表主键但不是分区键,主键索引是glocal,主键索引中除了包含主键列,还有tableoid列,主键约束:PRIMARY KEY (id) INCLUDE (tableoid)
image.png

4、分区表的global和local索引

  • local索引的索引列:创建索引时指定的表的字段
  • global索引的索引列:除了创建索引时指定的表的字段,还有tableoid

image.png

四、结论

  • 普通表和分区表local索引的索引列:创建索引时指定的表的字段
  • 分区表global索引的索引列:除了创建索引时指定的表的字段,还有tableoid
    • 如果索引时主键,则约束定义:PRIMARY KEY (id) INCLUDE (tableoid)
    • 其他索引根据pg_get_constraintdef() 函数查询结果为空
最后修改时间:2024-05-20 10:28:32
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论