SQL SERVER 2008 更改跟踪
SQL SERVER 2008 更改跟踪
/*
看书,看联机期间。。。顺带把看到的写下
与SQL SERVER 2008 CDC 异步捕获数据变更的不同,更改跟踪是同步进程,
是DML(INSERT/UPDATE/DELETE)事务的一部分,它可以使用最小的C盘存储
开销来侦测数据行的净变更.那么它也就不能像CDC那样可以提供用户表的
历史更改信息. 更改是使用异步进程捕获的,此进程读取事务日志,并
且对系统造成的影响很小.
更改跟踪捕获更改了表行这一事实,但不会捕获更改的数据.这样,应用程
序就可以确定使用从用户表中直接获取的最新行数据更改的行.因此,与变
更数据捕获相比,更改跟踪可以解答的历史问题比较有限.但是,对于不需
要历史信息的那些应用程序,更改跟踪产生的存储开销要小得多,因为它不
需要捕获更改的数据(不需要触发器和表时间戳).它使用同步跟踪机制来
跟踪更改.此功能旨在最大限度地减少DML 操作开销.
总的来说有以下几点:
1 减少了开发时间: 由于SQL Server 2008 中提供了更改跟踪功能,因此无需开发自定义解决方案.
2 不需要架构更改: 使用更改跟踪不需要执行以下任务:添加列;添加触发器;如果无法将列添加到用
户表,则需要创建要在其中跟踪已删除的行或存储更改跟踪信息的端表.
3 内置清除机制: 更改跟踪的清除操作在后台自动执行.不需要端表中存储的数据的自定义清除.
4 提供更改跟踪功能的目的是获取更改信息: 使用更改跟踪功能可使信息查询和使用更方便.列跟踪
记录提供与更改的数据相关的详细信息.
5 降低了DML 操作的开销: 同步更改跟踪始终会有一些开销.但是,使用更改跟踪有助于使开销最小
 
相关文档:
SQL语句的优化就是将性能较低的SQL语句转换达成同样目的性能优异的SQL语句
下面我们一起来看看一些可以优化SQL的方法,希望大家多提出意见我们共同学习或者是大家有什么好的优化方法可以提出来共享一下。
第一种优化(使用指定列代替”*”)
使用“*”可以降低编写SQL语 ......
1.删除表
select 'drop table ' || table_name || ' purge;'
from user_tables
where length(table_name) <= 4;
删除带约束的表
Drop table 表名 cascade constraints;
2.查询view&同义词
--说明:可以根据视图的text_length ......
1.求1..10偶数之和
select sum(level) from dual
where mod(level,2)=0
connect by level
2.将update改换成用rowid来实现。
(1)新的写法:
merge into SNAPSHOT120_2010_572 t1
using (select a.rowid rid, b.vip_level, b.manager_name
from xyf_vip_info_new b, snapsho ......
数据类型是数据的一种属性,是数据所表示信息的类型。任何一种语言都有它自己所固有的数据类型,SQL Server提供一下25种固有的数据类型。
SQL Server数据类型一览表
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
· ......