摘要: 看了一下tablediff的比较,网上有些文章说NULL不能比较,但是同步测试了SQL 2008 的功能,发现其实能够比较出NULL值的。运行tablediff命令:SQL Profiler 跟踪出以下sql: SELECT[dbo].[Tmp].[ID],BINARY_CHECKSUM([dbo].[Tmp].[Account],[dbo].[Tmp].[CharName],[dbo].[Tmp].[ID])asMShash_54267293FROM[dbo].[Tmp]WITH(READUNCOMMITTED)ORDERBY[dbo].[Tmp].[ID]SELECT[dbo].[Tm.. 阅读全文
posted @ 2012-08-13 17:28 zping 阅读(902) 评论(1) 推荐(1) 编辑
摘要: SQLServer 自带的TableDiff是用来比较表数据差异,并生产相应的脚本的工具,使用简单,还能生产差异脚本, 是非常有用的东东,尤其是在做同步链数据修复时,是很理想的工具;但是,很多使用的过朋友都抱怨,TableDiff 效率太差,上百万级别的数据表使用起来慢如蜗牛,有没有方法能加快TableDiff的效率呢? 其实TableDiff在很多时候效率还是不错的,和很多其他工具一样,要使它有好的效率,必须要懂得善用它,以下 就来说明TableDiff效率差的原因,以及如何巧用TableDiff来提交效率; 1. 两个比较的表数据差异非常大: 这种情况效率差是肯定的,两个几百万... 阅读全文
posted @ 2012-08-13 14:11 zping 阅读(503) 评论(0) 推荐(0) 编辑
摘要: --创建测试表 CREATE TABLE Tmp ( ID int PRIMARY KEY, Account varchar(32), CharName varchar(32) ) GO --插入测试数据 INSERT Tmp SELECT 1,'account1','CharName1' UNION ALL SELECT 2,'account2','CharName1' UNION ALL SELECT 3,'account3','CharName1' GO --创建Check表 CREATE T 阅读全文
posted @ 2012-08-13 11:35 zping 阅读(1006) 评论(0) 推荐(0) 编辑