成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇學會 OpenGauss 分區表索引

運維 數據庫運維
openGauss分區表支持兩種索引:全局(global)索引和本地(local)索引。分區表創建索引不支持concurrently語法,默認索引是全局索引,創建本地索引需要指定local。

[[422438]]

本文轉載自微信公眾號「數據和云」,作者高云龍。轉載本文請聯系數據和云公眾號。

一、概述

openGauss分區表支持兩種索引:全局(global)索引和本地(local)索引。

分區表創建索引不支持concurrently語法,默認索引是全局索引,創建本地索引需要指定local。

創建主鍵約束和唯一約束必須要包含分區字段,創建本地唯一索引也必須要包含分區字段,但是創建全局唯一索引沒有這個限制。

  1. postgres=# create index concurrently on part_index_test(col2,col1,col3); 
  2. ERROR:  cannot create concurrent partitioned indexes 

本文主要闡述添加或刪除分區對索引的影響。

數據庫版本:openGauss 1.1.0

二、測試

1.建表語句

范圍分區中的間隔語法可以自動追加分區表,這里以間隔分區表為例:

  1. create table part_index_test( 
  2. partid varchar(32) not null
  3. col1 varchar(2) not null
  4. col2 date not null
  5. col3 varchar(8) not null 
  6. )partition by range(col2) 
  7. interval('1 day'
  8. partition part1 values less than ('20210331'), 
  9. partition part2 values less than ('20210401'
  10. ); 

全局索引:

  1. create index on part_index_test(col2,col1,col3); 

本地索引:

  1. create index on part_index_test(col2,col1,col3) local

2.測試數據

間隔分區是以1天為單位,所以新增一天的數據,會自動增加一個以sys_p開頭的自增分區:

  1. insert into part_index_test select generate_series(1,1000),'1','20210401',generate_series(1,1000); 
  2. insert into part_index_test select generate_series(1,1000),'1','20210402',generate_series(1,1000); 
  3. insert into part_index_test select generate_series(1,1000),'1','20210403',generate_series(1,1000); 
  4. insert into part_index_test select generate_series(1,1000),'1','20210404',generate_series(1,1000); 
  5. insert into part_index_test select generate_series(1,1000),'1','20210405',generate_series(1,1000); 
  6. insert into part_index_test select generate_series(1,1000),'1','20210406',generate_series(1,1000); 

3.刪除分區語法

  • 先通過pg_partition系統表查看分區
  1. select relname,parttype,parentid,boundaries from pg_partition; 
  • 默認刪除分區:
  1. alter table part_index_test DROP PARTITIONpartition_name; 
  • update global index 方式刪除分區:
  1. alter table part_index_test DROP PARTITION partition_name update global index

4.索引使用

  1. explain select * from part_index_test where col2=$1 and partid=$2; 

5.測試結果

-

添加分區

刪除分區

備注

全局索引

生效

默認語法失效/update global index語法生效

索引失效后,需要reindex

本地索引

生效

生效

 

總結:

1、添加/刪除分區不影響本地索引使用。

2、添加分區不影響全局索引使用,默認刪除分區方式,全局索引失效,需要對全局索引重建;update global index方式刪除分區,不影響全局索引使用。

三、示例

1.分區表準備

  • 創建分區表
  1. create table part_range_lessthan_int( 
  2. id serial primary key
  3. col1 varchar(16)) 
  4. partition by range(id) 
  5. partition p1 values less than(1000), 
  6. partition p2 values less than(2000), 
  7. partition p3 values less than(3000), 
  8. partition p4 values less than(maxvalue) 
  9. ); 
  • 創建全局索引
  1. create unique index on part_range_lessthan_int(col1); 
  • 初始化數據
  1. insert into part_range_lessthan_int select generate_series(1,5000),'tuple'||generate_series(1,5000); 
  • 默認刪除分區SQL
  1. select now();alter table part_range_lessthan_int drop partition p1; 
  • update global index 刪除分區SQL
  1. select now();alter table part_range_lessthan_int drop partition p1 update global index
  • 查詢SQL
  1. analyze;select now();explain select * from part_range_lessthan_int where col1='tuple2500'

2.默認刪除分區語法

3.update global index 刪除分區

關于作者

高云龍,云和恩墨服務總監,長期從事PG運維工作,目前在支持openGauss生態發展。

 

責任編輯:武曉燕 來源: 數據和云
相關推薦

2021-07-02 09:45:29

MySQL InnoDB數據

2022-06-22 07:32:53

Sharding分庫數據源

2022-02-07 11:01:23

ZooKeeper

2022-01-02 08:43:46

Python

2022-08-29 08:00:11

哈希表數組存儲桶

2021-07-02 08:51:29

源碼參數Thread

2021-09-28 08:59:30

復原IP地址

2021-10-14 10:22:19

逃逸JVM性能

2022-04-12 08:30:52

回調函數代碼調試

2021-10-27 09:59:35

存儲

2021-07-16 22:43:10

Go并發Golang

2023-03-13 21:38:08

TCP數據IP地址

2023-11-01 09:07:01

Spring裝配源碼

2021-04-29 10:18:18

循環依賴數組

2022-10-20 07:39:26

2021-10-29 07:35:32

Linux 命令系統

2022-03-11 10:21:30

IO系統日志

2022-11-14 08:17:56

2021-05-11 08:54:59

建造者模式設計

2021-07-06 08:59:18

抽象工廠模式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美a√| 久久亚洲天堂 | 一区二区三区视频 | 亚洲综合大片69999 | 无码日韩精品一区二区免费 | 亚洲一区二区在线电影 | 久久婷婷av| 毛片免费在线观看 | 日本精a在线观看 | 欧美在线小视频 | 国产一区二区 | 国产丝袜一区二区三区免费视频 | 99色综合| 久久精品免费一区二区 | 久久精品亚洲一区二区三区浴池 | 欧美日韩专区 | 欧美激情一区二区三区 | 看av片网站 | 在线免费观看成人 | 亚洲精品一区二区在线观看 | 国产精品久久毛片av大全日韩 | 精品亚洲一区二区三区 | 成人午夜网 | 国产在线视频在线观看 | 一级做a爰片久久毛片免费看 | 日本午夜网 | 亚洲精品高清视频在线观看 | 天堂综合| 99re视频在线观看 | 天天射美女 | 一区二区三区日本 | 亚洲区一区二 | 国产成人免费 | 亚洲www. | 国产高清在线观看 | 欧美大片一区 | 日本午夜免费福利视频 | 久久久久亚洲精品中文字幕 | 亚洲午夜av久久乱码 | 久久久久久精 | 日本高清不卡视频 |