排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
SQL
前言
SQL索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
创建索引的语法
create index 索引名 on 表(字段)
索引分为聚集索引和非聚集索引
聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个
聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续
聚集索引:物理存储按照索引排序,引的键值逻辑顺序决定了表数据行的物理存储顺序
非聚集索引:物理存储不按照索引排序,非聚集索引就是普通索引了,仅仅只是对数据列创建相应的索引,不影响整个表的物理存储顺序
唯一索引:
唯一索引不止用于提升查询性能,还用于保证数据完整性。唯一索引不允许向表中插入任何重复值。其基本语法如下所示:
CREATE UNIQUE INDEX index_name on table_name (column_name);
聚簇索引:
聚簇索引在表中两个或更多的列的基础上建立。其基本语法如下所示:
CREATE INDEX index_name on table_name (column1, column2);
隐式索引:
隐式索引由数据库服务器在创建某些对象的时候自动生成。例如,对于主键约束和唯一约束,数据库服务器就会自动创建索引。
DROP INDEX 命令:
索引可以用 SQL DROP 命令删除。删除索引时应当特别小心,数据库的性能可能会因此而降低或者提高。
其基本语法如下:
DROP INDEX table_name.index_name;
什么时候应当避免使用索引?
尽管创建索引的目的是提升数据库的性能,但是还是有一些情况应当避免使用索引。下面几条指导原则给出了何时应当重新考虑是否使用索引:
小的数据表不应当使用索引;
需要频繁进行大批量的更新或者插入操作的表;
如果列中包含大数或者 NULL 值,不宜创建索引;
频繁操作的列不宜创建索引。
索引
索引
--数据表里有二十万条数据 create table rmb ( id int primary key identity(1,1), sid varchar(899) , money int check (money >=0) ) declare @num int = 0 while(@num<200000) begin select @num = @num +1 insert rmb values('ns00835更合适热潮都是打过去额外恶2354'+CAST(@num as varchar(10)) ,1000) end
查询没有索引的字段
给sid字段创建suoyin
create index sid_index on rmb(sid)
相比两个字段,创建索引的字段比没创建索引的字段查询效率更快,而且开销更小
评价