sql server 索引

优点
1、能够加快表与表之间的连接速度,这对于提高数据的参考完整性方面具有重要作用
2、在信息检索过程中,若使用分组及排序子句进行时,通过建立索引能有效的减少检索过程中所需的分组及排序时间,提高检索效率
缺点
1、在数据库建立过程中,需花费较多的时间去建立并维护索引,特别是随着数据总量的增加,所花费的时间将不断递增
2、在对表中的数据进行修改时,例如对其进行增加、删除或者是修改操作时,索引还需要进行动态的维护,这给数据库的维护速度带来了一定的麻烦

索引是对数据库表中 一列或多列的值 进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。

分类
数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而 非聚簇索引 就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。
1 创建索引

 create index index_name on SalesOrder_copy (column)

2 删除索引

 drop   index index_name on SalesOrder_copy

主键索引
数据库表经常有一列或多列组合,其值唯一标识表中的每一行。该列称为表的主键。在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

-- 无索引 、无主键
create table index_table
(
PK_id int null,
UQ_name varchar(20) null,
I_name  varchar(20) null
)

普通表

--修改字段类型
alter table index_table
alter column PK_id int not null
--添加主键
alter table index_table
add constraint ID_PK primary key (PK_id)

主键索引
添加数据
---insert
insert into index_table
select 1,'p01','n01'
union all
select 2,'p02',''
union all
select 3,'p03','n01'
union all
select 4,'p04','n01'
union all
select 5,'','n01'

唯一索引

select * from index_table
--唯一索引  主键可以被其他表引用为外键,而唯一索引不能
create unique index IN_UQ on index_table (UQ_name)

这里写图片描述
列索引
普通索引

猜你喜欢

转载自blog.csdn.net/weixin_41826215/article/details/80761866