示例
if (exists (select * from sys.indexes where name = 'idx_stu_name')) drop index student.idx_stu_name go create index idx_stu_name on student(name); --联合索引 if (exists (select * from sys.indexes where name = 'idx_uqe_clu_stu_name_age')) drop index student.idx_uqe_clu_stu_name_age go create unique clustered index idx_uqe_clu_stu_name_age on student(name, age); if (exists (select * from sys.indexes where name = 'idx_cid')) drop index student.idx_cid go if (exists (select * from sys.indexes where name = 'idx_cid')) drop index student.idx_cid go --非聚集索引 create nonclustered index idx_cid on student (cid) with fillFactor = 30; --填充因子 --聚集索引 if (exists (select * from sys.indexes where name = 'idx_sex')) drop index student.idx_sex go create clustered index idx_sex on student(sex); --聚集索引 if (exists (select * from sys.indexes where name = 'idx_name')) drop index student.idx_name go create unique index idx_name on student(name);
4、 适合的创建索引的列
当数据库的某一列被频繁的用于数据库查询时,或者该列用于数据库进行排序时可以创建成索引
5、 不适合创建索引的列
如果列中有几个不同的值,或者表中仅包含几行值,则不推荐为其创建索引。因为索引在搜索数据所花的时间比在表中逐行搜索话的时间更长。
视图
1、 什么是视图
视图就是一个虚拟的数据表,该数据表中的数据记录是有一条查询语句的查询结果得到的。
2、 创建视图准则
创建视图需要考虑一下准则:
- 视图名称必须遵循标识符的规则,该名称不得与该架构的如何表的名称相同
- 你可以对其他视图创建视图。允许嵌套视图,但嵌套不得超过32层。视图最多可以有1024个字段
- 不能将规则和default定义于视图相关联
- 视图的查询不能包含compute子句、compute by子句或into关键字
- 定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句
下列情况必须指定视图中每列的名称:
- 视图中的如何列都是从算术表达式、内置函数或常量派生而来
- 视图中有两列或多列具有相同名称(通常由于视图定义包含联接,因此来自两个或多个不同的列具有相同的名称)
- 希望视图中的列指定一个与其原列不同的名称(也可以在视图中重命名列)。无论是否重命名,视图列都回继承原列的数据类型
3、 创建视图
--创建视图 if (exists (select * from sys.objects where name = 'v_stu')) drop view v_stu go create view v_stu as select id, name, age, sex from student;
4、 修改视图
alter view v_stu as select id, name, sex from student; alter view v_stu(编号, 名称, 性别) as select id, name, sex from student go select * from v_stu; select * from information_schema.views;
5、 加密视图
alter view v_stu as select id, name, sex from student; alter view v_stu(编号, 名称, 性别) as select id, name, sex from student go select * from v_stu; select * from information_schema.views;
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
更多SQL内容来自木庄网络博客