SqlServer为字段创建索引
语法:
CREATE [索引类型] INDEX 索引名称
ON 表名(列名)
创建索引实例:
聚簇索引 create clustered index index_name on table_name (cloumn_name);
⾮聚簇索引 create nonclustered index index_name on table_name (cloumn_name);
唯⼀索引 create unique index index_name on table_name(cloumn_name);insert语句字段顺序
删除索引⽅法:
可利⽤ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为⼀条语句处理,语法如下。
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
其中,前两条语句是等价的,删除掉table_name中的索引index_name。
第3条语句只在删除PRIMARY KEY索引时使⽤,因为⼀个表只可能有⼀个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有⼀个或多个UNIQUE索引,则MySQL将删除第⼀个UNIQUE索引。
总结:
1.什么是索引:数据库中的索引是某个表中⼀列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
2.分类:
(1) 唯⼀索引(UNIQUE):不允许两⾏具有相同的索引值(创建了唯⼀约束,系统将⾃动创建唯⼀索引)
在表上创建唯⼀索引。唯⼀索引是不允许其中任意两⾏具有相同索引值的索引。
SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在创建索引后将检查是否存在重复的值(如果数据已存在),并在每次使⽤ INSERT 或 UPDATE 语句添加数据时执⾏该检查操作。必须先消除重复值,然后才可对列创建唯⼀索引。如果存在重复的键值,则将取消 CREATE INDEX 语句并返回错误。只能对定义为 NOT NULL 的列创建唯⼀索引。
如果存在唯⼀索引,则可能⽣成重复键值的 UPDATE 或 INSERT 语句将回滚,且 SQL Server Compact Edition 返回错误。即使 UPDATE 或 INSERT 语句更改许多⾏,但只要存在⼀个重复,上⾯这⼀点也将成⽴。
(2) 主键索引:主键索引要求主键中的每个值是唯⼀的,(创建主键⾃动创建主键索引)
(3) 聚集索引(CLUSTERED):表中各⾏的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含⼀个聚集索引,主键列默认为聚集索引
(4) ⾮聚集索引(NONCLUSTERED):表中各⾏的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个⾮聚集索引
3.创建索引的标准:⽤语频繁搜索的列;⽤语对数据进⾏排序的列
注意:如果表中仅有⼏⾏,或列中只包含⼏个不同的值,不推荐创建索引,因为SQL Server 在⼩型表
中⽤索引搜索数据所花的时间⽐逐⾏搜索更长。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论