GBase 8a集群global hash和grouped人工维护的索引使用

GBase 8a数据库支持2类索引,可人工创建和删除。其中针对精确查询的Hash索引,以及针对多列查询的行存列索引。

1、针对精确查询的hash 索引

create index index_name on table_name(field_name) key_block_size=4096 key_dc_size=100 using hash global;

精确查询(等于= 和不等于 <>),范围查询,模糊查询(like)无效。

适合重复度低的,比如身份证号码,手机号,IP地址等 对重复度高的,比如省份,性别,类型等不要建这个索引

可以通过

drop index index_name on table_name;

来删掉索引;

2、行存列索引

针对select 大量的列的情况,通过额外的磁盘来提高性能。

alter table table_name add grouped group_name (查询字段1,查询字段2,。。。。);

可以通过

alter table table_name drop grouped group_name;

来删除

如果只select 很少的列,或者列在嵌套内使用,则无效。此功能只针对最外层,返回结果集前的最后一步才有效过。

如上2个索引最典型的场景

select a,b,c,d,ef,ef,ds,f,dsf,dsf,ds,fds,fdf 大量的列 from myTable where call_number=13812345678

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注