易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 2005 视图对性能影响

最近发现 视图对性能的影响很大的,原以为通过视图会提高编译的速度,但是却用不到索引了。不知道大家是否认同?

对于多表链接,用视图会带来很大的便利,但是却有可能用不到基表的索引。
如果是创建视图索引,但是视图索引的限制又比较多,而且也将影响增删改的性能。

不知道微软有没有这方面的解决办法。


视图索引

一般情况,用视图不会用不到基表的索引。

SQL code:
为SQL视图建立索引[引用]
CREATE INDEX 语句的要求
在视图上创建的第一个索引必须是唯一聚集索引。在创建唯一聚集索引后,可创建其它非聚集索引。视图上的索引命名规则与表上的索引命名规则相同。唯一区别是表名由视图名替换。有关更多信息,请参见 CREATE INDEX。

除了一般的 CREATE INDEX 要求外,CREATE INDEX 语句还必须满足下列要求:

执行 CREATE INDEX 语句的用户必须是视图的所有者。


当执行 CREATE INDEX 语句时,下列 SET 选项必须设置为 ON:
ANSI_NULLS


ANSI_PADDING


ANSI_WARNINGS


ARITHABORT


CONCAT_NULL_YIELDS_NULL


QUOTED_IDENTIFIERS
必须将选项 NUMERIC_ROUNDABORT 选项设置为 OFF。


视图不能包含 text、ntext 或 image 列,即使在 CREATE INDEX 语句中没有引用它们。


如果视图定义中的 SELECT 语句指定了一个 GROUP BY 子句,则唯一聚集索引的键只能引用在 GROUP BY 子句中指定的列。

--------------------------------------------------------------------------------------------------------------------------------------------------


相关问答:

Sql排序 - MS-SQL Server / 基础类

我的Tblworkbill表的数据如下:
id workbillno ..................
1 1
2 6
3 a1
4 c2
5 2
6 aa
7 ......

数据窗口动态修改Sql - PowerBuilder / DataWindow

为了满足数据查询的速度问题,我将一张数据量大的学生表按年度分成多个表
students_2008, students_2009然后我又做了一个模板表students_template,模板表中的字段和students_2008, students_2009一样,只不过是一个 ......

sql语句的问题 - MS-SQL Server / 基础类

有2个表啊: 
表名:yh 
用户编码 用户名称  
001 a 
002 b 
003 c 
表名:ys 
用户编码 本期指数 抄表时间 
  001 ......

SQL时间段问题

一个很奇怪的问题 
SQL code
select * from Gprs_DataInof 
--可以查到所有的数据
select * from Gprs_DataInof where DataTime between 1900-10-16 1:01:00' and '2009-10-20 1:01:00'
--一条数据 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号