首页 > 数据库 >SQLServer第九章:视图与索引

SQLServer第九章:视图与索引

时间:2022-09-19 03:33:05浏览次数:93  
标签:index 第九章 SQLServer 视图 索引 accountInfo go -- select

视图:查看来自于一个或多个列的列的集合,一张虚拟表,视图中并不存放任意数据,只存放select语句
   查看视图最基本的代码:select * from 表名 返回一个虚拟表

索引:提高查询速度/性能,可以理解为索引就是目录,找到他那一页的数据。

分类:
  (1)主键索引:创建了主键就会自动创建主键索引,是唯一索引的特殊类型
  (2)唯一索引[unique]:不能重复
  (3)非聚集索引[nonclustered]:创建索引页,索引页上注明了值存放的位置,一个表最多可以有249个非聚集索引
  (4)聚集索引[clustered]:会进行物理排序,一个表最多只有一个聚集索引
索引命名:index_表名_列名

--sys.databases:数据库
--sys.objects:表,视图,存储过程
--sys.indexes:索引

 创建 一个表做演示

if exists(select * from sys.objects where name='accountInfo')
begin
    drop table accountInfo
end
go
create table accountInfo
(
    id int primary key identity,
    accountName varchar(10) not null,
    balance money check(balance>=1) not null
)
go
--添加两个帐户
insert into accountInfo values('韦小宝',5000000)
insert into accountInfo values('梅超风',6000000)
go
select * from accountInfo

在用户名上创建一个【唯一索引】

if exists(select * from sys.indexes where name='index_userinfo_username')
begin
    drop index accountInfo.index_userinfo_username --删除必须是:表名.索引名
end
go
create unique index index_userinfo_username  --创建 唯一 索引 取名称
on accountInfo(accountName)    --表名(列名)
go

--测试索引效果:
insert into accountInfo values('admin','123456')

在姓名上创建一个【非聚集索引】

if exists(select * from sys.indexes where name='index_stuinfo_stuname')
begin
    drop index accountInfo.index_stuinfo_stuname
end
go
create nonclustered index index_stuinfo_stuname
on accountInfo(accountName)
go
--with(index=index_stuinfo_stuname):可选,特别是只有一个索引完全可以省略
select * from accountInfo with(index=index_stuinfo_stuname) where accountName='admin'

 

标签:index,第九章,SQLServer,视图,索引,accountInfo,go,--,select
From: https://www.cnblogs.com/longxinyv/p/16706437.html

相关文章

  • SQLServer第八章:事务 transaction
    事务:是一种机制,独立的工作单元,保证结果只产生成功或失败特性(ACID): 原子性:要么成功,要么失败 一致性:操作前后表中数据是一致的 隔离性:当前事务操作的数据,对......
  • SQLSERVER 多表关联更新表中字段
    现实案例3张表,需要把表1的某个字段批量更新到表3的某个字段,表1的主键是表2的外键,表3的主键是表2的外键UPDATE表1别名SET 表1别名.字段1=表2别名.字段1FROM表1定义别......
  • 【SQLServer】并行执行计划中的分支和线程
    SQLServer2012的执行计划增加了保留线程和并行执行计划的使用信息。例如下面的查询:SELECTBP.ProductID,cnt=COUNT_BIG(*)FROMdbo.bigProductASBPJOI......
  • springMVC 视图
    1.internalResourceView转发到另一个页面@RequestMapping("/internal")publicStringinternal(){return"forward:/test/test1";} 2redirectView视图重定......
  • django中的视图层
    1.什么是视图层简单来说,就是用来接收路由层传来的请求,从而做出相应的响应返回给浏览器2.视图层的格式与参数说明2.1基本格式fromdjango.httpimportHttpResponsedef......
  • drf基本视图类APIView
    rest_framework.views.APIViewAPIView是RESTframework提供的所有视图类的基类,继承自Django的view父类APTview与view的不同之处在于:传入到视图方法中的是RESTfr......
  • delphi TcxGrid网格组件:用CxGrid制作卡片视图
    一.删除cxGrid1DBTableView视图.TcxGrid在创建时,会自动添加一个cxGrid1DBTableView1视图,我们需要删除它 二.创建卡片视图. 三.链接数据库.......
  • 一篇文章教你如何用界面组件DevExpress WPF创建一个WPF视图模型
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专......
  • sqlserver substring 函数截取text格式文本格式乱码导致的定位错误的问题
    描述:使用charindex函数对text字段所要截取的内容下标读取例如:str(表字段名称-类型text)=<p>●123456</p>截取123,      index1=chaindex('1',str),inde......
  • 今日内容 视图层与模板层
    网页伪静态实际上伪静态是个动态页面,只是通过技术手段伪装成立静态页面的样子,伪静态页面的内容是通过读取数据库生成的。将动态网页伪装成静态网页从而提升网页被搜......