社区
MS-SQL Server
帖子详情
如何在给视图添加索引?
douer2002
2003-04-02 03:59:20
如何在给视图添加索引?
...全文
9692
11
打赏
收藏
如何在给视图添加索引?
如何在给视图添加索引?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rlx
2003-04-05
打赏
举报
回复
up
douer2002
2003-04-05
打赏
举报
回复
top!
w_rose
2003-04-05
打赏
举报
回复
“在视图引用的基本表上加索引不可以吗?”其实这个与索引视图的要领无关。
你“给基本表建立了索引,然后为一些常用的查询建立视图,然后给这些视图建立索引”,这是一个进化的过程,使得在复杂性提高时仍然保持较高的查询效率。
w_rose
2003-04-05
打赏
举报
回复
如果你从一个视图中查询一些结果需要10分钟,那么你从索引过的同一视图中查寻可能只需要10秒钟,这就是“索引”视图的好处。他相当于自动给你建立和维护了堆触发器。当然,还兼有普通视图的能够“从视图更新基本表”的好处。
tjan
2003-04-03
打赏
举报
回复
也可以的
一般来讲,视图索引对静态视图的效果最好
douer2002
2003-04-03
打赏
举报
回复
在视图引用的基本表上加索引不可以吗?
我很关注!
vbasten
2003-04-03
打赏
举报
回复
在视图引用的基本表上加索引不可以吗?
douer2002
2003-04-03
打赏
举报
回复
这么复杂啊
douer2002
2003-04-03
打赏
举报
回复
这么负责阿
tjan
2003-04-02
打赏
举报
回复
可以!
在视图上创建聚集索引之前,该视图必须满足下列要求:
当执行 CREATE VIEW 语句时,ANSI_NULLS 和 QUOTED_IDENTIFIER 选项必须设置为 ON。OBJECTPROPERTY 函数通过 ExecIsAnsiNullsOn 或 ExecIsQuotedIdentOn 属性为视图报告此信息。
为执行所有 CREATE TABLE 语句以创建视图引用的表,ANSI_NULLS 选项必须设置为 ON。
视图不能引用任何其它视图,只能引用基表。
视图引用的所有基表必须与视图位于同一个数据库中,并且所有者也与视图相同。
必须使用 SCHEMABINDING 选项创建视图。SCHEMABINDING 将视图绑定到基础基表的架构。
必须已使用 SCHEMABINDING 选项创建了视图中引用的用户定义的函数。
表和用户定义的函数必须由 2 部分的名称引用。不允许使用 1 部分、3 部分和 4 部分的名称。
视图中的表达式所引用的所有函数必须是确定性的。OBJECTPROPERTY 函数的 IsDeterministic 属性报告用户定义的函数是否是确定性的。有关更多信息,请参见确定性函数和非确定性函数。
视图中的 SELECT 语句不能包含下列 Transact-SQL 语法元素:
选择列表不能使用 * 或 table_name.* 语法指定列。必须显式给出列名。
不能在多个视图列中指定用作简单表达式的表的列名。如果对列的所有(或只有一个例外)引用是复杂表达式的一部分或是函数的一个参数,则可多次引用该列。例如,下列选择列表是非法的:
SELECT ColumnA, ColumnB, ColumnA
下列选择列表是合法的:
SELECT ColumnA, COUNT(ColumnA), ColumnA + Column B AS AddColAColB FROM T1
SELECT SUM(ColumnA), ColumnA % ColumnB AS ModuloColAColB, COUNT_BIG(*) FROM T1 GROUP BY ColumnA
派生表。
行集函数。
UNION 运算符。
子查询。
外联接或自联接。
TOP 子句。
ORDER BY 子句。
DISTINCT 关键字。
COUNT(*)(允许 COUNT_BIG(*)。)
AVG、MAX、MIN、STDEV、STDEVP、VAR 或 VARP 聚合函数。如果在引用索引视图的查询中指定 AVG、MAX、MIN、STDEV、STDEVP、VAR 或 VARP,如果视图选择列表包含以下替换函数,则优化器会经常计算需要的结果。
例如,索引视图选择列表不能包含表达式 AVG(SomeColumn)。如果视图选择列表包含表达式 SUM(SomeColumn) 和 COUNT_BIG(SomeColumn),则 SQL Server 可为引用视图并指定 AVG(SomeColumn) 的查询计算平均数。
引用可为空的表达式的 SUM 函数。
全文谓词 CONTAINS 或 FREETEXT。
COMPUTE 或 COMPUTE BY 子句。
如果没有指定 GROUP BY,则视图选择列表不能包含聚合表达式。
如果指定了 GROUP BY,则视图选择列表必须包含 COUNT_BIG(*) 表达式,并且,视图定义不能指定 HAVING、CUBE 或 ROLLUP。
通过一个既可以取值为 float 值也可以使用 float 表达式求值的表达式而生成的列不能作为索引视图或表的索引的键。
愉快的登山者
2003-04-02
打赏
举报
回复
不能在视图上建立索引。
MySQL
视图
行和列数据来自由定义
视图
查询所应用的表,并且在引用
视图
时动态生成。 #
视图
的概念 保存在数据库中的查询语句 # 创建
视图
的目的 隐藏数据复杂性、实现数据访问安全、友好界面 #
视图
的操作 ...
mysql 给
视图
添加
索引
_MySQL
视图
事务
索引
外连接
视图
1、定义 select 语句的结果集,是一张虚拟的表2、创建
视图
语句create view
视图
名 as select语句3、查看
视图
show views;4、使用
视图
select * from
视图
名5、删除
视图
drop view
视图
名
视图
的作用方便操作 减少...
视图
有
索引
吗?答:没有. 查询
视图
会触发
索引
吗?答:会
2.
视图
能不能用
索引
不能这样说,
视图
是由 查询sql语句建立,或多级
视图
组成. 走不走
索引
只有表才有这个概念.所以只有表字段才能用
索引
.答: 先来一通
视图
的定义 ,
视图
的作用,优缺点. 很好,不正面回答防止pass , 这样让...
MySQL
视图
与
索引
视图
并不实际存储数据,而是在访问时动态地从基本表中检索数据。通过创建
视图
,可以简化复杂的查询操作,并提供更方便、更易读的数据访问方式。
视图
还可以用于隐藏敏感的数据,保护隐私。
视图
的定义包括
视图
名称、所...
视图
能创建
索引
吗?---转自百度知道
总之,虽然
视图
是一种有用的查询工具,但由于其虚拟性,无法在其上直接创建
索引
。
视图
不包含实际的物理数据,它的数据是从被
视图
的表中获取的。
视图
是一种虚拟的表,它是基于一个或多个表的查询结果生成的。
视图
是一...
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章