达梦数据库和mysql索引引擎_达梦数据库索引实践

达梦数据库索引实践

达梦数据库支持二级索引,聚集索引,唯一索引,函数索引,位图索引,分区索引等。

默认的表是索引组织表,利用rowid创建一个默认的索引,所以我们创建的索引,称为二级索引。建索引的目的是加快表的查询,对数据库做DML操作的时候,数据库会自动维护索引。索引是一棵倒置的树,使用索引,就是对这个索引树进行遍历。

建立索引的规则:经常查询的列、连接条件列、谓词经常出现的列(where)、查询是返回表的一小部分数据

不适合创建索引的情况:列上有大量的null、列上的数据有限(例如:性别)

1、查看索引信息

讲索引之前注意一下:创建索引,删除,重建索引和收集统计信息,不要在业务高峰去做。

查看某个用户下的索引情况

select owner,table_name,index_name,index_type from dba_indexes where owner='TEST1';

首先创建一张来做下测试

create table TAB10 (id1 int, id2 int, id3 int, id4 int, id5 int, id6 int, id7 int, id8 int, name1 char(20), name2 varchar(30));

查询发现,创建表的时候会默认自带创建一个聚集索引。

select owner,table_name,index_name,index_type from dba_indexes where table_name='TAB10';

e20fc88d2e6cbace27c1dd2a4fa29218.png

2、创建索引

创建默认索引(默认二级索引)

create or replace index index_default on TAB10 (id1);

d4f6486a188f0b773064cf7e9b7c7aa0.png

创建聚集索引,自带聚集索引会被替换成新创建的

create or replace cluster index index_cluster on TAB10 (id2);

7de25e6444022dcc9fadea5d7c74db5d.png

创建唯一索引

create or replace unique index index_unique on TAB10 (id3);

008fc5cb0b54c2887db0f51098f0e328.png

创建函数索引

create or replace index index_function on TAB10 (id1+id2);

dfb398f3e966f9d1aa421ba1387b03e1.png

创建位图索引时,提示位图索引与聚集索引不能构建在同一表上,需要单独的表里创建。

create or replace bitmap index index_bitmap on TAB10 (id4);

97b177af56f412d5d39c58a007861fc8.png

创建分区索引

create index index_partition on TAB10 (id5) global partition by range(id5)

(

partition g_p1 values less than(10),

partition g_p2 values less than(maxvalue)

);

751346d889e0c30cd050f9b19f7273a4.png

3、维护索引

当有数据更新时可以重建索引

alter index index_default rebuild;

索引名称修改的语句

alter index index_partition rename to index_partition2;

bee8885b404486468a7b1b57a0b27482.png

删除索引跟删除表结构一样的语句

drop index index_partition2;

9f631dddcb9e542e14b12c1dee1e76f1.png

4、查询语句分析执行计划

通过查询执行计划发现默认会使用聚集索引

explain select * from TAB10;

8af39eb268dfa6e8f337862bfcb9a40d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值