一、 基本知识  

摘抄自http://www.cnblogs.com/kissdodog/p/3385161.html

SQL Server索引 - 索引(物化)视图 <第九篇>

索引视图实际上是一种将一组唯一值“物化”为群集索引形式的视图(白话是,给视图中的唯一值列加聚集索引,然后数据会存储在硬盘中),提高查询速度。

通过使用来自第一个索引的聚集键作为参考点,SQL Server还能在视图上建立额外的索引。

限制如下:

  1. 如果视图引用了任何用户自定义函数,那么这些函数也必须是模式绑定的;
  2. 视图不可以引用任何其他的视图-只能引用表和UDF;
  3. 在视图中引用的所有表和UDF必须采用两部分的命名约定(例如:dbo..Customers),并且也必须具有和视图相同的所有者;
  4. 视图和视图引用的所有对象必须在相同的数据库中;
  5. 在创建视图和所有底层表时,必须打开ANSI_NULLS以及QUOTED_IDENTIFIER选项;
  6. 视图引用的任何函数必须是确定的;

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_vwWITH SCHEMABINDINGASSELECT Age,COUNT_BIG(*) AS CountAge FROM dbo.PersonTenMillionGROUP BY Age--为视图创建索引CREATE UNIQUE CLUSTERED INDEX ivPersonAgeON PersonAge_vw(Age)

SQL Server中的索引视图也具有查询重写的功能,

  所谓的查询重写,就是如果符合条件的数据在索引视图上,并且查询列都包含在在索引视图上,此时可以直接通过查询索引视图来替代基于原始表的查询。

如果物化视图上没有要查询的列,则物化视图无效。直接去表中查询。

二、  详细查看物化视图执行及维护原理

http://www.cnblogs.com/wy123/p/6041122.html

转载于:https://www.cnblogs.com/taoshengyujiu/p/8819461.html

SQL Server物化视图学习笔记相关推荐

  1. SQL Server索引视图以(物化视图)及索引视图与查询重写

    SQL Server索引视图以(物化视图)及索引视图与查询重写 本文出处:http://www.cnblogs.com/wy123/p/6041122.html 经常听Oracle的同学说起来物化视图 ...

  2. sql server 循环_学习SQL:SQL Server循环简介

    sql server 循环 Loops are one of the most basic, still very powerful concepts in programming – the sam ...

  3. Microsoft Dynamics server 2015 所有的SQL server 2012 视图 介绍及功能

    微软Dynamics 2015 所有的SQL server 2012 视图 介绍及功能 此文章中SQL Server 视图可以为开发者提供帮助,以下部分摘自微软CRM官方安装文件中. Microsof ...

  4. SQL Server使用视图做权限控制

    问题引入 这天老鸟火急火燎的跑到菜鸟旁边,想必是遇到什么难题了:"现在有这么一个场景,假如有三种角色,并且存在层级关系,他们需要访问同一个数据源表,但是需要做权限控制,使得每种角色只能看到自 ...

  5. SQL Server索引视图

    SQL Server Views are virtual tables that are used to retrieve a set of data from one or more tables. ...

  6. SQL Server 数据库 视图创建

    SQL Server 数据库 视图创建 视图简介: 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口. 常规视图本身并不存储实际的数据,而仅仅是由SE ...

  7. 浅谈SQL Server索引视图(物化视图)以及索引视图与查询重写

    目录 (一)前言 (二)正文 1. 物化视图(索引视图)与查询重写的基本概念 2. 创建测试环境 (1)建表 (2)写数据 3. 索引视图创建 (1)创建语法 (2)为索引视图创建索引 4. 查询重写 ...

  8. 数据库设计-SQL Server开发实现学习

    1.目录 SQL Server数据库基础 T-SQL语言编程框架 实例规范:项目 笔记1 SQL Server数据库基础 1. 1数据库及其对象 SQLserver的数据库是所涉及的对象以及数据的集合 ...

  9. SQL Server数据库入门学习

    经过一段时间的学习,也对数据库有了一些认识. 数据库基本是由表,关系,操作组成:对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,upda ...

最新文章

  1. mysql怎么在海量数据上ddl_浅谈MySQL Online DDL(中)
  2. c语言 包络算法,包络检测C程序
  3. C++中引用与指针的区别(详细介绍)
  4. android scheme打开天猫,淘宝
  5. 智能电饭煲电路图及其原理_变电所的主电路图解析及总降压变电所主电路图解析...
  6. windows下一些常用的dos命令
  7. AOP 你想干什么 IOC 你服务什么
  8. C语言 数组指针详解
  9. 【Visual Studio 2019 C# TCP通信调试助手】
  10. RELYUM—针对关键系统的物联网和网络安全解决方案 (二)
  11. iRingg for Mac(iPhone铃声制作工具)
  12. 【Excel】数据的输入
  13. Edge浏览器出现兼容性问题且所有页面崩溃,包括设置均无法打开并访问的解决方法
  14. N4110解决WIN10黑屏问题
  15. 【MOOC手写体】王文敏教授.《人工智能原理》 第10章 机器学习的任务 Part5 C10.1...
  16. 你所不知道的Win键
  17. 1134: 字符串转换
  18. 4.预测模型,马尔可夫链
  19. 智能发展的四个层次:运算智能,感知智能,认知智能,强智能。道翰天琼认知智能。
  20. [转]Cocos2d iPhone

热门文章

  1. songbirds for ubuntu 12.10
  2. 这些实验好习惯科研小白一定要先养成!
  3. activex for chrome扩展程序 下载”_提升前端开发效率:你应该知道的10个Chrome扩展程序...
  4. C语言 | 编写一个使用指针的c函数,交换数组a和数组b中的对应元素
  5. Matlab | Matlab从入门到放弃(3)——函数与画图
  6. matlab错误原因,matlab常见错误分析
  7. rust(47)-key-value哈希-HashMap,BTreeMap,HashSet,BTreeSet
  8. C指针原理(43)-helloworld的C程序汇编剖析
  9. mxnet基础到提高(4)-- Dense层基础
  10. 【深度学习】修改每张人像---ImageNet 的衰落