浅析SQL2008的Change Data Capture功能(3)_Mssql数据库教程
推荐:如何使用SQL Server嵌套子查询很多SQL Server程序员对子查询(subqueries)的使用感到困惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们追本溯源地探究这个问题。 有两种子查询类型:标准和相关。标
11、最后试一下DROP命令
|
dbo.Product表消失了,同时cdc.dbo_Product_CT表也消失了。
12. 评估结束。一定有人问,捕获到的更新怎么用呢,还有一堆系统函数和存储过程可以帮助用户,但是那段测试的过程就不详细写了。
其中最重要的应该就是cdc.fn_cdc_get_all_changes_
SELECT * FROM cdc.fn_cdc_get_all_changes_dbo_Product(0x00000048000001760004, 0x00000048000001F70004, 'all'); SELECT * FROM cdc.fn_cdc_get_net_changes_dbo_Product(0x00000048000001760004, |
CDC功能的IO开销
很明显,CDC功能是会产生一定的IO和存储开销的,为了评估CDC功能产生的这些开销。我又进行了一段评测。
整个评估的思路是这样的:
1、创建两个数据库
2、在两个数据库中分别创建一张结构完全相同的表,一个数据库启用CDC功能,而另外一个禁用CDC功能
3、向两张表中写入相同行数的数据
4、视图sys.dm_io_virtual_file_stats来获得两个数据库文件上的
5、利用sysindexes来获得两个数据库中数据表的存储消耗情况
因为是在虚拟机中进行的测试,所以选取了比较小的数据表(AdventureWorks数据库中的SalesOrderDetails),大约有12万行数据。
评估的结果如下:
图2 |
从上面两张表中可以看到,CDC激活后日志文件的读会显著增加。原因是CDC在写更新跟踪表时,需要读取日志。
图3 |
图4 |
分享:SQL多表格查询合并至单一声明的常用方式在对跨多个表格的数据进行组合时,有时很难搞清楚要使用哪一个SQL句法。我将在这里对将多个表格中的查询合并至单一声明中的常用方式进行阐述。 在这篇文章中的样本查询符合SQL92 ISO标准。不
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解
- 相关链接:
- 教程说明:
Mssql数据库教程-浅析SQL2008的Change Data Capture功能(3)。