达梦数据库索引实践

达梦数据库索引实践

    达梦数据库支持二级索引,聚集索引,唯一索引,函数索引,位图索引,分区索引等。
    默认的表是索引组织表,利用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‘;

2、创建索引
创建默认索引(默认二级索引)
create or replace index index_default on TAB10 (id1);

创建聚集索引,自带聚集索引会被替换成新创建的
create or replace cluster index index_cluster on TAB10 (id2);

创建唯一索引
create or replace unique index index_unique on TAB10 (id3);

创建函数索引
create or replace index index_function on TAB10 (id1+id2);

创建位图索引时,提示位图索引与聚集索引不能构建在同一表上,需要单独的表里创建。
create or replace bitmap index index_bitmap on TAB10 (id4);

创建分区索引
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)
);

3、维护索引
当有数据更新时可以重建索引
alter index index_default rebuild;

索引名称修改的语句
alter index index_partition rename to index_partition2;

删除索引跟删除表结构一样的语句
drop index index_partition2;

4、查询语句分析执行计划
通过查询执行计划发现默认会使用聚集索引
explain select * from TAB10;

原文地址:https://blog.51cto.com/14615334/2457840

时间: 2024-10-09 14:49:32

达梦数据库索引实践的相关文章

达梦数据库(第二部分)

1.达梦数据库创建表 达梦数据安装完成之后,打开DM管理工具,可以进行数据库的相关操作.可以通过新建查询,在SQL命令窗口输入sql语句,创建表,sql输入完成之后,选择sql进行执行,则会在表空间MAIN下的表路径下产生新建的表文件,如下图: 2.建立主键 Create table时通过primary key创建主键 如:create table person(ID int primary key,name varchar(10),address varchar(60)) 或者通过alter语

[转帖]达梦数据库(DM6)和ORACLE 10g的异同点

达梦数据库(DM6)和ORACLE 10g的异同点    https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 写私信 只看楼主 更多操作楼主  发表于: 2017-03-24 比较惭愧,在当上本版版主后一直没有贡献一篇有营养的帖子,由于手上正好有达梦数据 DM6的版本,加上对ORACLE 10G比较熟悉,所以就这2种数据库的异同点做一个对比,也请大家不吝赐教. 对于达梦数据库,因为目前的工作是DBA,主要是对

达梦数据库部署

达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.本次将进行DM8的开发版本的部署 1  系统软硬件要求 1.1  硬件要求 达梦官方文档中给出的硬件要求如下:  1.2  软件要求 软件环境的要求如下 1.3  环境检查 本次是在centos6上安装DM8的开发版,系统检测信息如下 /** 操作系统版本*/ [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) /

达梦数据库的角色管理

达梦数据库的角色管理 角色管理在日常中的使用场景是比较少,一般主要数据库自带的角色,外加针对部分用户或部分表的各性化需求来配置就可以,这篇也同样按之前的思路来对角色的创建.修改.删除等基本功能做下实践操作,及给角增加权限建表等权限,测试权限功能. 1.查看所有角色select * from dba_roles; 2.创建角色接下来我们创建create role role1; 创建一张tab1表做个测试 3.角色添加权限我们先来给这个角色赋值查询表的权限,并分配给test1用户,来做个测试赋值查询

达梦数据库的初始运用

用命令方式建立数据库 在达梦的bin目录下使用dminit ./dminit path=/dm7/data db_name=DM01 instance_name=EST port_num=5327 达梦数据库的状态 4种状态 shutdown mount open suspend 状态切换 shutdown -- mount shutdown -- open open -- mount 查看状态 select status$ from v$instance; 启动数据库 方式一 在达梦安装bin

达梦数据库的TPCC测试记录

达梦数据库的TPCC测试记录 测试环境本文主要目的是介绍使用 benchmarksql工具进行 TPCC 测试的步骤使用工具版本:benchmarksql-4.1.1 服务器:华为泰山v1CPU:海思1616 32核x2;内存:192G;硬盘:1.2Tx5系统:中标麒麟 release V7Update6/(Chromium)-aarch64 1.上传数据库的驱动包jar文件上传目录:/home/setup/tpcc/benchmarksql-4.1.1/lib/ 2.初始化相关配置1.创建测试

基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于Enterprise Library的数据访问层的实现,因此增加一个数据库的支持很容易,本文介绍如何在框架层面上支持这种神秘的国产数据库-达梦数据库. 1.达梦数据库的简单介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.

达梦数据库安装和创建表

1.达梦数据库安装 2.达梦命令行sql工具 进去达梦数据库安装目录下的/bin目录 运行./disql 输入用户名和密码: 默认的管理用户SYSDBA 的初始密码是SYSDBA 在sql> 工具里边执行sql操作

DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>6.03如何灵活.快捷地操作国产达梦数据库.除了创建基于不同数据库产品的ODBC数据源有所不同外,用"万能数据库查询分析器"操作任何数据库.EXCEL.TXT/CSV文件的方法跟本文