数据库建表时所用到的各类型的索引
来源:互联网 发布:centos vsftpd 端口 编辑:程序博客网 时间:2024/06/14 12:09
索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度
按照存储方式分为:聚集与非聚集索引
按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引
索引的结构是由:根节点--->非叶节点--->非叶节点--->叶节点
1、聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大
特点:
(1) 一个表可以最多可以创建249个索引
(2) 先建聚集索引才能创建非聚集索引
(3) 非聚集索引数据与索引不同序
(4) 数据与索引在不同位置
(5) 索引在叶节点上存储,在叶节点上有一个"指针"直接指向要查询的数据区域
(6) 数据不会根据索引键的顺序重新排列数据
创建聚集索引的语法:
create CLUSTERED INDEX idximpID ON EMP(empID)
2、非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很少
特点:
(1) 无索引,数据无序
(2) 有索引,数据与索引同序
(3) 数据会根据索引键的顺序重新排列数据
(4) 一个表只能有一个索引
(5) 叶节点的指针指向的数据也在同一位置存储
语法:
create NONCLUSTERED INDEX idxempID on emp(empID)
3、惟一索引:惟一索引可以确保索引列不包含重复的值.
可以用多个列,但是索引可以确保索引列中每个值组合都是唯一的
姓 名
李 二
张 三
王 五
语法: create unique index idxempid on emp(姓,名)
4、复合索引:如果在两上以上的列上创建一个索引,则称为复合索引。
那么,不可能有两行的姓和名是重复的
语法:
create index indxfullname on addressbook(firstname,lastname)
5、系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时,会在表上自动创建一个惟一索引
自动创建的索引是无法删除的
语法:
create table ABc
( empID int primary key,
firstname varchar(50)UNIQUE,
lastname varchar(50)UNIQUE,
)
这样的结果就出来了三个索引,但只有一个聚集索引哦
6、创建索引的方法:
1、企业管理器中
(1)右击某个表,所有任务---管理索引,打开管理索引,单击“新建”就可以创建索引
(2)在设计表中进行设计表,管理索引/键
(3)在关系图中,添加表后右击关系图中的某个表,就有“索引/键”
(4)通过向导,数据库---创建索引向导
(5)通过T-SQL语句
2、能过“索引优化向导”来优化索引的向导,通过它可以决定选择哪些列做为索引列。
- 数据库建表时所用到的各类型的索引
- 微服务所用到的各类工具和包
- python中一些链接数据库所用到的包
- abap 所用到的tcode
- web所用到的技术
- 各类数据库的连接
- 各类数据库的差别
- 我所用到的有用的网址!!!
- 我所用到的WEB2.O网站......
- 项目中所用到的一些xx
- 导出EXCEL所用到的类
- 分清加密时所用到的概念
- 每天checklist所用到的T-CODE...
- pb11.5所用到的dll
- cuda By exmaple所用到的代码
- ABAP开发所用到的函数
- 计算机图形学所用到的数学
- cuda By exmaple所用到的代码
- J2EE项目:整合SSH开发『新闻发布系统』
- C#创建、打开、读取、写入、保存Excel,Excel打印输出
- OpenBravo 在eclipse下项目的建立
- 用了半天时间做的一个简单的递归下降分析器
- 一个程序员如何月进万金的?
- 数据库建表时所用到的各类型的索引
- 需求测试总结
- 密码学个人简要笔记
- 想拿到风投?技术创业者请备好五双跑鞋
- 七大发展趋势 看2008年管理软件风云变幻
- 入门题解:低阶码撑开ERP物料管理保护伞
- 超级实用且不花哨的js代码大全
- 生成setup-properties-windows.exe
- 哪来“清闲”---毕业设计和职业规划的问题