GBase 8c
其他
文章

GBase 8c 创建和管理索引(五)

发表于2023-12-06 12:52:0016次浏览0个评论

创建唯一索引

在表tpcds.ship_mode_t1上的SM_SHIP_MODE_SK字段上创建唯一索引。

gbase=# CREATE UNIQUE INDEX ds_ship_mode_t1_index1 ON tpcds.ship_mode_t1(SM_SHIP_MODE_SK);

创建多字段索引

假如用户需要经常查询表tpcds.customer_address_bak中ca_address_sk是5050, 且ca_street_number小于1000的记录,使用以下命令进行查询。

gbase=# SELECT ca_address_sk,ca_address_id FROM tpcds.customer_address_bak WHERE ca_address_sk = 5050 AND ca_street_number < 1000;

使用以下命令在字段ca_address_sk和ca_street_number上定义一个多字段索引。

gbase=# CREATE INDEX more_column_index ON tpcds.customer_address_bak(ca_address_sk ,ca_street_number );

CREATE INDEX

创建部分索引

如果只需要查询ca_address_sk为5050的记录,可以创建部分索引来提升查询效率。

gbase=# CREATE INDEX part_index ON tpcds.customer_address_bak(ca_address_sk) WHERE ca_address_sk = 5050;

CREATE INDEX

创建表达式索引

假如经常需要查询ca_street_number小于1000的信息,执行如下命令进行查询。

gbase=# SELECT * FROM tpcds.customer_address_bak WHERE runc(ca_street_number) < 1000;

可以为上面的查询创建表达式索引:

gbase=# CREATE INDEX para_index ON tpcds.customer_address_bak (trunc(ca_street_number));

CREATE INDEX

评论

登录后才可以发表评论