仓酷云

标题: MSSQL教程之索引视图 [打印本页]

作者: 萌萌妈妈    时间: 2015-1-16 22:19
标题: MSSQL教程之索引视图
因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。在后面我们已提到过有关视图的下述概念:因为视图前往的了局集与具有行列布局的表有着不异的表格情势,而且我们能够在SQL语句中像援用表那样援用视图,以是我们常把视图称为虚表。尺度视图的了局集其实不以表的情势存储在数据库中,而是在实行援用了视图的查询时,SQLServer2000才把相干的基础表中的数据兼并成视图的逻辑布局。
下面的结论常让我们发生如许的焦急:因为是在实行了援用了视图的查询时,SQLServer2000才把相干的基础表中的数据兼并成视图的逻辑布局,那末当查询所援用的视图包括大批的数据行或触及到对大批数据行举行算计运算或毗连操纵,无庸置疑,静态地创立视图了局集将给体系带来极重的包袱,特别是常常援用这类年夜容量视图。
办理这一使人头痛成绩的办法就是为视图创立聚簇索引,只要如许才会明显地进步体系的功能。当在视图上创立了聚簇索引后,视图的了局集与有聚簇索引的表的数据集一样是存储在数据中的。
别的,在视图上创立索引还会带来如许的优点;优化器能够在那些在FROM从句中不间接定名视图的查询中利用视图索引,并且对已存在的视图而言,因为不用从头编写查询代码,从而进步了查询从索引视图中检索数据的效力。
假如在视图上创立索引,那末视图中的数据会被当即存储在数据库中,对索引视图举行修正,那末这些修正会当即反应到基本表中。同理,对基本表所举行的数据修正也会反应到索引视图那边。索引的唯一性年夜年夜进步了SQLServer查找那些被修正的数据行。
保护索引视图比保护基本表的索引更加庞大。以是,假如以为值得以因数据修正而增添体系包袱为价值来进步数据检索的速率,那末应当在视图上创立索引。在为视图创立索引前,视图自己必需满意以下前提:
在视图上创立了索引以后,假如盘算修正视图数据,则应当包管修正时的选项设置与创立索引时的选项设置一样,不然SQLServer将发生毛病信息,并回滚所做的INSERT、UPDATE和DELETE操纵。

我们只需要把binlog文件反向执行,每个操作都执行逆操作即可。当然也不是所有的event都反转。Table_mapevent必须还是在Rows_log_event每个操作之前。
作者: 飘飘悠悠    时间: 2015-1-18 17:26
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
作者: 活着的死人    时间: 2015-1-22 18:08
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
作者: 若相依    时间: 2015-1-31 10:46
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
作者: 柔情似水    时间: 2015-2-6 19:01
Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。
作者: 乐观    时间: 2015-3-6 02:41
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
作者: 老尸    时间: 2015-3-12 19:25
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
作者: 第二个灵魂    时间: 2015-3-20 02:10
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2