论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

通过SQL Server 2005索引视图提高性能

www.xker.com 作者: 来源:microsoft 加入日期:2006-3-5 13:58:43

【问题提问、论坛交流】

即使某个表达式具有确定性(如果其包含浮点表达式),确切的结果可能依处理器体系结构或微码的版本而定为了在计算机间迁移数据库时确保 SQL Server 2005 中数据的完整性,这种表达式只能作为索引视图的非键列加入不含浮点表达式的具有确定性的表达式被认为是精确的只有永久和/或精确的具有确定性的表达式才可加入键列以及索引视图的 WHERE 或 GROUP BY 子句永久性表达式是对已保存列的引用,包括一般列和标为 PERSISTED 的计算列

用 COLUMNPROPERTY 函数和 IsDeterministic 属性确定视图列是否具有确定性用 COLUMNPROPERTY 函数和 IsPrecise 属性确定带有 SCHEMABINDING 的视图中的具有确定性的列是精确的如果属性为 TRUE,COLUMNPROPERTY 将返回 1;如为 FALSE,则返回 0;而如果为 NULL,则表示无效输入例如,在此脚本中

CREATE TABLE T(a int, b real, c as getdate(), d as a+b)
CREATE VIEW VT WITH SCHEMABINDING AS SELECT a, b, c, d FROM dbo.T
SELECT object_id('VT'), COLUMNPROPERTY(object_id('VT'),'b','IsPrecise')

SELECT 对 IsPrecise 返回 0,因为 b 列为实型可通过 COLUMNPROPERTY 做一些实验,确认 T 的其他列是否具有确定性并是精确的
 

其他要求

可索引的视图集合是可能的视图集合的一个子集任何可索引的视图在有或没有索引的情况下都可存在

除了设计方针(“使用 SET 选项获得一致的结果”和“使用具有确定性的函数”这两节)中所列的要求外,还必须满足下列要求,以便在视图上创建唯一的聚集索引

有关基表的要求

视图所引用的基表必须具有在创建表时所设的 SET 选项 ANSI_NULLS 的正确的值可用 OBJECTPROPERTY 函数检查现有表上的 ANSI_NULLS 的值

有关函数的要求

必须使用 WITH SCHEMABINDING 选项创建视图所引用的用户定义的函数

有关视图的要求

必须使用 WITH SCHEMABINDING 选项创建视图

必须由使用双结构名称 (schemaname.tablename) 的视图引用表

必须由使用双结构名称 (schemaname.functionname) 的视图引用用户定义的函数

必须正确设置 SET 选项 ANSI_NULLS 和 QUOTED_IDENTIFIER

视图限制

如要在 SQL Server 2005 中的视图上创建一个索引,相应的视图定义必须包含:

ANY、NOT ANY

OPENROWSET、OPENQUERY、OPENDATASOURCE

不精确的(浮型、实型)值上的算术

OPENXML

COMPUTE、COMPUTE BY

ORDER BY

CONVERT 生成一个不精确的结果

OUTER 联接

COUNT(*)

引用带有一个已禁用的聚集索引的基表

GROUP BY ALL

引用不同数据库中的表或函数

派生的表(FROM 列表中的子查询)

引用另一个视图

DISTINCT

ROWSET 函数

EXISTS、NOT EXISTS

自联接

聚合结果(比如:SUM(x)+SUM(x))上的表达式

STDEV、STDEVP、VAR、VARP、AVG

全文谓词 (CONTAINS、FREETEXT、CONTAINSTABLE、FREETEXTTABLE)

子查询

不精确的常量(比如:2.34e5)

可为空的表达式上的 SUM

内嵌或表值函数

表提示(比如:NOLOCK)

MIN、MAX

text、ntext、image、filestream 或 XML 列

不具有确定性的表达式

TOP

非 unicode 排序

UNION

SQL Server 2005 可检测到的矛盾情况表示视图将为空(比如,当 0=1 及 ...)

 

本新闻共8页,当前在第7页  1  2  3  4  5  6  7  8  

编辑:xker.com

上一篇:安装SQL Server 2005中的AdventureWorks数据库
下一篇:SQL Server 2005 数据转换服务的常见设计问题
关闭窗口】【技术交流】【收藏此页
相关文章
·保护SQL Server 2005 Express Editio·SQL Server 2005生成直方图简介·SQL Server2005 Analysis服务实践之起
·Windows 服务器系统通用引擎路线图·ASP中调用存储过程、语法、写法-sql·SQL Server性能分析参数
·SQL Server溢出新方法!肉鸡不用愁!·用VB备份和恢复SQL Server数据库的方·SQL Server的几个安全问题个个谈(上
·SQL Server的几个安全问题个个谈(下·SQL 数据库表的修改·用户和安全性管理--SQL Server 的登录
·管理SQL Server 登录·SQL Server 安全性管理的途径·SQL 数据库备份
推荐文章 最新文章 热门文章
·拒绝提示窗口 让操作自动赶走网络烦恼
·视频格式转换工具使用集锦
·通过SQL Server 2005索引视图提高性能
·SQL Server 2005新特性
·SOHO族安全建议-保证上传服务器安全
·服务器安全配置精华技巧
·缔造神话 十大怪招助你200%提升迅雷速
·有备无患 WinXP下软件数据大迁移
·流量牵引技术在防DOS攻击中的应用
·解决w3wp.exe内存占用问题
·IIS网站防盗链下载的解决方案
·怎样处理Java最终化的内存保留问题
·轮番上阵:Linux下查找漏洞的N种兵器
·毕业论文范文
·毕业论文格式
·SQL Server 2005 中的Multiple Activ
·使用SQL Server 2005中的CLR 集成(2)
·使用SQL Server 2005中的CLR 集成(1)
·保护SQL Server 2005 Express Editio
·在 SQL Server 2005 中查询表结构及索
·拒绝提示窗口 让操作自动赶走网络烦恼
·QQ表情终级大法让你比别人更炫
·新东方系列序列号(大全)
·豪杰超级解霸V9.2正版注册码
·QuickTime v7.0.4简体中文版注册码
·Protel 2006 简体中文版6.0安装序列号
·Visual Studio 2005安装序列号
·附加码在网络安全中的作用
·原来文件的时间属性也能修改
·VC和Delphi程序只运行一个实例的方法
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·求职简历封皮
·最经典的黑客入门教材
·ACDSee v8.0注册码
·应届毕业生求职信
·怎样查找对方的IP地址
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: