⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6224.htm

📁 说明: column_list列出要添加数据的列名。在给表或视图中部分列添加数据时
💻 HTM
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>MS SQL基础教程:索引视图 - 编程入门网</title>
<meta name="keywords" content="MS SQL基础教程:索引视图">
<meta name="description" content="MS SQL基础教程:索引视图">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/images/style.css" rel="stylesheet" type="text/css" />
<script src="/js1/head.js"></script>
</head>
<body leftmargin="0" topmargin="0" bgcolor="#efefef" oncopy=nocopy()>
<TABLE width="760" cellPadding="0" cellSpacing="0"  bgcolor="#eff7fe" align="center">
  <TR>
    <TD><a href="/index.htm"><img src="/images/logo1.gif" width="150" height="60" border="0"></a></TD>
    <TD width="470" align="right"><script src="/js1/top.js"></script></TD>
    <TD width="125" align="center"><script src="/js1/topsy.js"></script></TD>
  </TR>
</TABLE>
<table width="760" border="0" cellpadding="1" cellspacing="0" class="bklan" align="center">
  <tr>
    <td align="center" bgcolor="#eff7fe" height="24"> | <a href='/Programming/index.htm'>编程语言</a> | <a href='/webkf/index.htm'>web开发</a> | <a href='/data/index.htm'>数据库</a> | <a href='/Network/index.htm'>网络技术</a> | <a href='/OS/index.htm'>操作系统</a> | <a href='/Servers/index.htm'>服务器</a> | <a href='/web/index.htm'>网页设计</a> | <a href='/Design/index.htm'>图形设计</a> | <a href='/Office/index.htm'>办公软件</a> | <a href='/soft/index.htm'>常用软件</a> | <a href='/shadu/index.htm'>杀毒频道</a> | <a href='/PC/index.htm'>学电脑</a> |</td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content1.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center">
  <tr>
    <td height="25" background="/templets/img/31bg3.gif" align="left" class="guidet">&nbsp;→ 当前位置:<a href='http://www.bianceng.cn/'>首页</a>→<a href='/data/index.htm'>数据库</a>→<a href='/data/SQLServer/index.htm'>SQL Server</a>→<a href='/data/SQLServer/jc/index.htm'>SQL Server教程</a>→正文</td>
  </tr>
</table>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
    <td valign="top" class="guidet" width="595"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="ct">
  <tr>
    <td align="center" valign="middle" class="til"><h3>&nbsp;&nbsp; MS SQL基础教程:索引视图 </h3>
      发布时间:2007-12-25 来源:网络/责编:编程入门 作者:佚名<br />
      <script src="/js1/468.js"></script>
    </td>
  </tr>
  <tr>
    <td style="font-size:14px" align="left" class="til"><table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><script src="/js1/300.js"></script></td>
</tr>
</table><p>  在前面我们已经提到过有关视图的下述观点:由于视图返回的结果集与具有行列结构的表有着相同的表格形式,并且我们可以在SQL 语句中像引用表那样引用视图,所以我们常把视图称为虚表。标准视图的结果集并不以表的形式存储在数据库中,而是在执行引用了视图的查询时,SQL Server 2000 才把相关的基本表中的数据合并成视图的逻辑结构。</p>
<p>  上面的结论常让我们产生这样的焦虑:由于是在执行了引用了视图的查询时,SQL Server 2000 才把相关的基本表中的数据合并成视图的逻辑结构,那么当查询所引用的视图包含大量的数据行或涉及到对大量数据行进行合计运算或连接操作,毋庸置疑,动态地创建视图结果集将给系统带来沉重的负担,尤其是经常引用这种大容量视图。</p>
<p>  解决这一令人头痛问题的方法就是为视图创建聚簇索引,只有这样才会显著地提高系统的性能。当在视图上创建了聚簇索引后,视图的结果集与有聚簇索引的表的数据集一样是存储在数据中的。</p>
<p>  此外,在视图上创建索引还会带来这样的好处;优化器可以在那些在FROM 从句中不直接命名视图的查询中使用视图索引,而且对已存在的视图而言,由于不必重新编写查询代码,从而提高了查询从索引视图中检索数据的效率。</p>
<p>  如果在视图上创建索引,那么视图中的数据会被立即存储在数据库中,对索引视图进行修改,那么这些修改会立即反映到基础表中。同理,对基础表所进行的数据修改也会反映到索引视图那里。索引的惟一性大大提高了SQL Server 查找那些被修改的数据行。</p>
<p>  维护索引视图比维护基础表的索引更为复杂。所以,如果认为值得以因数据修改而增加系统负担为代价来提高数据检索的速度,那么应该在视图上创建索引。在为视图创建索引前,视图本身必须满足以下条件: 在执行CREATE VIEW 命令时,必须将ANSI_NULLS 和QUOTED_IDENTIFIER选项设置为ON 状态; 在使用CREATE TABLE 命令创建索引所引用的基础表时,ANSI_NULLS 选项应设置为ON; 该视图所引用的对象仅包括基础表而不包括其它的视图; 视图所引用的基础表必须与视图同属于同一数据库且有相同的所有者; 在创建视图时必须使用SCHEMABINDING 选项; 如果视图引用了用户自定义函数,那么在创建这些用户自定义函数时也必须使用SCHEMABINDING 选项 ; 视图必须以owner.objectname 的形式来使所引用的表或用户自定义函数; 视图所引用的函数必须是确定性的; 另外值得注意的是,在创建视图的SELECT 语句中不应该包含下面的Transact-SQL语法; SELECT 语句中不能使用*或tablename.*来定义列,必须直接给出列名,否则不可以; 表示行集合的函数; UNION、 DISTINCT、 TOP、 ORDER BY、 COMPUTE、 COMPUTE BY、COUNT(*) 等; AVG、 MAX、 MIN、 STDEV、 STDEVP、 VAR 和VARP 等合计运算函数。---www.bianceng.cn</p>
<p>  通常而言,可以在视图上创建多个索引,但是应该记住,在视图上所创建的第一个索引必须是聚簇索引,然后才可以创建其它的非聚簇索引。</p>
<p>  在第八章我们已经详细介绍了CREATE INDEX 命令但是如果准备为视图创建索引那么在执行该命令以前您必须确保以下条件否则创建将会失败。 CREATE INDEX 命令的执行者必须是视图的所有者; 在执行创建索引命令期间,ANSI_NULLS、 ANSI_PADDING、 ANSI_WARNINGS、ARITHABORT、 CONCAT_NULL_YIELDS_NULL、 QUOTED_IDENTIFIERS 诸选项应被设置成ON 状态; NUMERIC_ROUNDABORT 选项被设置为OFF 状态; 视图不能包括text、 ntext、 image 类型的数据列; 如果视图的SELECT 语句中包含ORDER BY 选项,则聚簇索引的关键值只能是ORDER BY 从句中所定义的数据列。 </p>
<p>  在视图上创建了索引之后,如果打算修改视图数据,则应该保证修改时的选项设置与创建索引时的选项设置一样,否则SQL Server 将产生错误信息,并回滚所做的INSERT、UPDATE 和DELETE 操作。</p>
<p>  <a href="/data/SQLServer/jc/200712/6352.htm">查看全套&quot;MS SQL入门基础教程&quot;</a></p><center><br /><script src="/js1/4682.js"></script></center>
      <p>上一篇:<a href='/data/SQLServer/jc/200712/6223.htm'>MS SQL基础教程:通过视图管理数据</a>  &nbsp; 下一篇:<a href='/data/SQLServer/jc/200712/6225.htm'>MS SQL基础教程:用户自定义函数</a> </p></td>
  </tr>
  <tr>
    <td align="left" style="font-size:14px;" height="25"><IMG src="/images/t0.gif" width="12" height="12" align=absMiddle><strong>相关文章</strong><br /><table width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6223.htm">MS SQL基础教程:通过视图管理数据</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6225.htm">MS SQL基础教程:用户自定义函数</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6222.htm">MS SQL基础教程:创建和管理视图</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6226.htm">MS SQL基础教程:管理SQL Server登录</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6221.htm">MS SQL基础教程:视图简介</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6227.htm">MS SQL基础教程:数据库用户</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6220.htm">MS SQL基础教程:使用系统过程管理游标</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6228.htm">MS SQL基础教程:权限管理</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6219.htm">MS SQL基础教程:游标的应用</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6229.htm">MS SQL基础教程:角色管理</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6218.htm">MS SQL基础教程:定位修改删除游标</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6230.htm">MS SQL基础教程:复制的概述和术语</a><br/>
	</td>
	</tr>
<tr>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6217.htm">MS SQL基础教程:关闭释放游标</a><br/>
	</td>
	<td width='50%'>
·<a href="/data/SQLServer/jc/200712/6231.htm">MS SQL基础教程:配置复制</a><br/>
	</td>
	</tr>
	</table>
</td>
  </tr>
</table>
</td>
    <td width="165" valign="top" class="guideb"><script src="/js1/1601.js"></script><table width="100%" border="0" cellpadding="0" cellspacing="0" valign="top">
      <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>阅读排行</strong></td>
      </tr>
      <tr>
        <td>·<a href="/data/SQLServer/jc/200712/6352.htm">MS SQL Server入门教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10974.htm">MS SQL基础教程:存储过程</a><br/>
·<a href="/data/SQLServer/jc/200705/1189.htm">sql语言教程</a><br/>
·<a href="/data/SQLServer/jc/200807/10973.htm">MS SQL基础教程:创建存储</a><br/>
·<a href="/data/SQLServer/jc/200705/1182.htm">sql字符串函数</a><br/>
·<a href="/data/SQLServer/jc/200712/6301.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6302.htm">MS SQL基础教程:SQL Serve</a><br/>
·<a href="/data/SQLServer/jc/200712/6314.htm">MS SQL基础教程:数据类型</a><br/>
·<a href="/data/SQLServer/jc/200705/1188.htm">Sql语言基础</a><br/>
·<a href="/data/SQLServer/jc/200712/6311.htm">MS SQL基础教程:Transact-</a><br/>
·<a href="/data/SQLServer/jc/200712/6312.htm">MS SQL基础教程:SQL变量</a><br/>
·<a href="/data/SQLServer/jc/200705/1184.htm">sql基本语句</a><br/>
·<a href="/data/SQLServer/jc/200807/10972.htm">MS SQL基础教程:管理存储</a><br/>
·<a href="/data/SQLServer/jc/200712/6306.htm">MS SQL基础教程:数据库基</a><br/>
·<a href="/data/SQLServer/jc/200705/1178.htm">sql数据表</a><br/>
 </td>
      </tr>
	  <tr>
        <td><script src="/js1/1602.js"></script></td>
      </tr>
	  <tr>
        <td height="25" align="center" background="/templets/img/31bg3.gif"><strong>最新文章</strong></td>
      </tr>
	  <tr>
        <td><script src="/plus/js/0.js" language="javascript"></script></td>
      </tr>
	  </table></td>
  </tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
  <tr>
    <td align="center"><script src="/js1/content2.js"></script></td>
  </tr>
</table>
<table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr height="26">
    <td bgcolor="#e1f0fd" width="48"></td>
    <td bgcolor="#6ab3f4" width="35"></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#c0c0c0" width="530" align="center"><a title="将本站设为你的首页" onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://www.bianceng.cn');return false;" href="http://www.bianceng.cn/">设为首页</a> | <a class="navmenu" 
      title="将本站加入到你的收藏夹" 
      href="javascript:window.external.AddFavorite(location.href,document.title)">加入收藏</a> | <a href="/about/about.htm">关于本站</a> | <a href="/plus/flink.php">友情链接</a> | <a href="/about/banquan.htm">版权声明</a> | <a href="/plus/sitemap.html">网站地图</a> | <a href="/plus/rssmap.html">RSS订阅</a></td>
    <td bgcolor="#0a518f" colspan="2" width="4"></td>
    <td bgcolor="#6ab3f4" width="32"></td>
    <td bgcolor="#e1f0fd" width="47"></td>
  </tr>
  <tr height="26">
    <td colspan="9" bgcolor="#FFFFFF" align="center">编程入门网 版权所有,bianceng.cn,All Rights Reserved. <script src="/js/tongji.js"></script> 阅读次数:<script src="/plus/count.php?aid=6224&mid=0" language="javascript"></script></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -