SQL Server物化视图学习笔记
一、 基本知识
摘抄自http://www.cnblogs.com/kissdodog/p/3385161.html
索引视图实际上是一种将一组唯一值“物化”为群集索引形式的视图(白话是,给视图中的唯一值列加聚集索引,然后数据会存储在硬盘中),提高查询速度。
通过使用来自第一个索引的聚集键作为参考点,SQL Server还能在视图上建立额外的索引。
其限制如下:
- 如果视图引用了任何用户自定义函数,那么这些函数也必须是模式绑定的;
- 视图不可以引用任何其他的视图-只能引用表和UDF;
- 在视图中引用的所有表和UDF必须采用两部分的命名约定(例如:dbo..Customers),并且也必须具有和视图相同的所有者;
- 视图和视图引用的所有对象必须在相同的数据库中;
- 在创建视图和所有底层表时,必须打开ANSI_NULLS以及QUOTED_IDENTIFIER选项;
- 视图引用的任何函数必须是确定的;
7、必须要加上WITH SCHEMABINDING, 就是绑定到架构.
8、创建完视图后, 必须紧跟着创建一个CLUSTERED聚集唯一索引,而且必须在第一列(第一列是唯一值,类似于主键那样).
9、只支持两部分命名的表或UDF, 如 dbo.SalesOrder.
10. 涉及到多个表连接时, 不支持left join 或right join的写法, 只能用from...where的方式或inner join的方式连接. (这一点有时很要命 只能用inner join太蛋疼)
11. 不支持table.*这种懒省事的方式, 得一个一个把想要的列写清楚.
--创建模式绑定视图 CREATE VIEW PersonAge_vw WITH SCHEMABINDING AS SELECT Age,COUNT_BIG(*) AS CountAge FROM dbo.PersonTenMillion GROUP BY Age --为视图创建索引 CREATE UNIQUE CLUSTERED INDEX ivPersonAge ON PersonAge_vw(Age)
SQL Server中的索引视图也具有查询重写的功能,
所谓的查询重写,就是如果符合条件的数据在索引视图上,并且查询列都包含在在索引视图上,此时可以直接通过查询索引视图来替代基于原始表的查询。
如果物化视图上没有要查询的列,则物化视图无效。直接去表中查询。
二、 详细查看物化视图执行及维护原理
http://www.cnblogs.com/wy123/p/6041122.html
SQL Server物化视图学习笔记的更多相关文章
- 转:oracle物化视图学习笔记
最近学习了一下物化视图,正好经理不在,把学习结果贴出来供大家一起研究一下吧. 先看一下物化视图的大概含义吧,感觉baidu的定义还不错 物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结 ...
- sql server自定义函数学习笔记
sql server中函数分别有:表值函数.标量函数.聚合函数.系统函数.这些函数中除系统函数外其他函数都需要用户进行自定义. 一.表值函数 简单表值函数 创建 create function fu_ ...
- 数据库(sql server 2000)—— 学习笔记1
一.安装 安装程序一般都是四合一的,SQL Server 2000有四个版本:企业版.标准版.个人版.开发版,每个版本的对系统的要求各不相同. SQL Server 2000各版本 对 操作系统的要求 ...
- sql server 2016 JSON 学习笔记
虽然现在win服务器已经几乎不用了,但是网上看到2016开始原生支持json 还是想试试 建立一个表 id int , json varchar(2000) json字段中输入数据 {"r ...
- SQL SERVER 常用函数 学习笔记
1.字符串截取.字符串转数字 --Server.8.30 select SUBSTRING('SqlServer_2008',4,6) as DB, CONVERT(float,SUBSTRING(' ...
- 《SQL 反模式》 学习笔记
第一章 引言 GoF 所著的的<设计模式>,在软件领域引入了"设计模式"(design pattern)的概念. 而后,Andrew Koenig 在 1995 年造了 ...
- SQL SERVER分区视图
借助SQL SERVER分区视图,可以对SQL中的表进行集中管理,下文将以实例的方式为您详解SQL SERVER分区视图,希望对您学习SQL数据库能有所帮助. SQL SERVER分区视图给我们提供了 ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- SQL Server 系统视图
SQL Server系统视图非常的多,因此不可能一个一个地写,我最近一直在想,对于数据库的系统视图应该如何学,但是看了一下目录之后,我呆了,我觉得每个写一次,可能都要花费1个星期的时间,如果对每一个返 ...
随机推荐
- End-to-end and Hop-by-hop Headers ---nginx-websocket
https://www.oschina.net/translate/websocket-nginx 13.5.1 End-to-end and Hop-by-hop Headers For the p ...
- django上下文处理器
上下文处理器(context processors)上下文处理器是可以返回一些数据,在全局模板中都可以使用.比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每 ...
- 洛谷P3960 列队 NOIp2017 线段树/树状数组/splay
正解:动态开点线段树 解题报告: 传送门! 因为最近学主席树的时候顺便get到了动态开点线段树?刚好想起来很久很久以前就想做结果一直麻油做的这题,,,所以就做下好了QAQ 然后说下,这题有很多种方法, ...
- svn .a文件上传不了
最近mac电脑出现了问题,导致硬盘被格式化,所有文件都没了,打开app,一直缺少第三方文件libWeChatSDK.a,打开xcode文件变红了,找不到了,为了预防此类问题,在这里给出解决方法,如果没 ...
- 1 认识开源性能测试工具jmeter
典型的性能测试工具主要有2个,Load Runner和jmeter.Load Runner是商业化的,Jmeter是开源的.下面我们认识一下开源性能测试工具jmeter. 1.jmeter是什么? A ...
- 初学git
初学git,总结了一点东西,可能有理解和操作的不到位的地方,还有就是这个是我之前写在word上的,因为CSDN上不能直接上传,所以拷贝的过程中也可能有其他问题.发的的朋友还望指正... 1.找到“参与 ...
- 鼠标 DPI与CPI
何为dpi: dpi英文全称是“dots per inch”,直译为“每英寸像素”,意思是每英寸的像素数.(1 英寸=2.54cm),是指鼠标内的解码装置所能辨认每英寸长度内像素数.(屏幕上最小单位是 ...
- asxios--form data提交,setcookie
React native 项目,部分接口用form data 提交,以及在Android端,虽然设置了请求携带cookie,但每次请求携带的cookie跟初始化时都不一样,目前做法是去到初始化中返回的 ...
- MRPT编译
今天尝试编译一下MRPT,主要是为了学习里面的路径规划算法. 自主探索,未知环境探索...... 编译的过程中遇到一个问题就是wxWidgets老是检测不到,让我添加它的root目录.明明wxWidg ...
- Python 全栈开发八 文件处理
一.基本流程 打开文件得到文件句柄 将文件句柄赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 二.基本操作 1.文件句柄 f = open("a.txt",encoding= ...