暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
达梦数据库索引的使用
2889
5页
11次
2020-05-16
5墨值下载
1 / 5
达梦数据库索引建立使用小技巧
达梦数据库支持聚集索引,复合索引,函数索引唯一索引,位图索引等等下面
我们就来一起创建达梦数据库在各种场景中的索引。我们的测试环境是:
操作系统:中标麒麟 6 64 位。
达梦数据库:DM8.1
1 建立索引的准则
1.1 在表中插入数据后创建索引
般情况下,在插入或装载了数据后为表创建索引会更加有效率。如果在装载数据之
前创建了一个或多个索引那么在插入每行时 DM 数据库都必须更改和维护每个索引,使得
插入效率降低。
1.2 怎样创建正确的索
1、如果需要经常地检索大表中的少量的行,就为查询键创建索引;
2. 为了改善多个表的连接的性能,可为连接列创建索引;
3. 主键和唯一键自动具有索引,在外键上很多情况下也创建索引;
4. 小表不需要索引。
5. 列中的值相对比较唯
6. 取值范围大,适合建立索引;
7. CLOB TEXT 只能建立全文索引、BLOB 不能建立任何索引。
1.3 为性能而安排索引列
CREATE INDEX 语句中列的排序会影响查询的性能。通常,最常用的列放在最前面。
如果查询中有多个字段组合定位,则不应为每个字段单独创建索引而应该创建一个组合索
引。当两个或多个字段都是等值查询时,组合索引中各个列的前后关系是无关紧要的。
是如果是非等值查询时,要想有效利用组合索引则应该按等值字段在前,非等值字段在
的原则创建组合索引,查询时只能利用一个非等值的字段
2 / 5
1.4 限制每个表的索引的数量
个表可以有任意数量的索引。但是,索引越多,改表数据的开销就越大。当插入或
删除行时,表上的所有索引也要被更改;更改一个列时,包含该列的所有索引也要被更改。
因此,在从表中检索数据的速度和更新表的速度之间有一个折衷例如,如果一个表主要仅
用于读,则索引多就有好处;如果一个表经常被更新,则索引不宜多建
2 创建索引
2.1 创建聚集索引
DM 数据库中(列存储表和堆表除外)都是使 B+树索引结构管理的,每一个普通表
都有且仅有一个聚集索引数据都通过聚集索引键排序,根据聚集索引键可以快速查询任何
记录。
当建表语句未指定聚集索引键时,DM 数据库的默认聚集索引键 ROWID若指定索引
键,表中数据都会根据指定索引键排序。 建表后DM 数据库也可以用创建新聚集索引的
方式来重建表数据,并按新的聚集索引排序。 例如, 可以对 employee 表以 employee_name
列新建聚集索引
先建立索引表空 ind_tbs
Sql>create tablespace ind_tbs datafile
'/dm8/data/DAMENG/ind_tbs.dbf' size 32 autoextend on next 10
maxsize 2000;
Sql>create index ind_emp on dmhr.employee(employee_name)
tablespace ind_tbs;
2.2 复合索引
Sql>create index ind_emp_dep on
dmhr.employee(employee_id,department_id) tablespace ind_tbs;
of 5
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜