SQL Server数据库实用技术(111)
时间:2007-11-09 来源:不详 作者:迈克DB
过滤复制数据主要能够带来以下几个好处: 过滤复制数据包括四种过滤类型:列过滤、行过滤、动态过滤和联合过滤。其中列和行过滤可在快照复制、事务复制和合并复制中使用,但动态过滤和联合过滤却仅能在合并复制中使用。
1 行过滤(Row Filter)
使用行过滤就是把某些特定的行发送给订购者,清除那些用户不必(或不应)看到的数据行,从而能为不同的订购者创建不同的出版物。同时,由于不同的订购者订购是来自同一表的不同数据行,因此有助于避免因多个订购者修改同一数据而导致的修改冲突。
行过滤可在合并复制、快照复制和事务复制中使用,但是,在事务复制中由于针对版表的每一数据操作语句(INSERT、 DELETE、 UPDATA) 都要使用过滤条件语句来进行验证,以确定是否打上“复制”标志,所以,使用行过滤会极大地增加系统负载。
2 列过滤(Column Filter) 织梦好,好织梦
列过滤实质就是对表进行垂直分割。使用列过滤能够减少订购者需要的存储空间,减少向订购者传送数据修改的时间。但是有些列不能从出版物中过滤出去,它们是:有主键约束的列;
没有缺省值的非空列;
包含在惟一索引中的列;
合并复制以及立即更新订购者的快照复制或事务复制中的ROWGUID 列。
3 动态过滤(Dynamic Filter)
动态过滤是指在合并复制的处理过程中,根据从订购者那里得到的数据值对出版表进行数据过滤。在合并复制中使用动态过滤能带来以下好处:
出版者上几乎不必存储出版物从而减少因管理多个出版物而带来的系统负载;
在动态过滤中使用用户自定义的函数,这样根据订购者的属性来进行数据过滤,从而使订购者仅获得必要的信息。
4 联合过滤(Joint Filter)
联合过滤允许在合并处理过程中定义两个出版表中的关系。它常与行过滤一同使用,并在合并处理中保持联合出版表之间的参照完整性。如果某一使用笔过滤的出版表被另外的出版表的外键所引用,那么,外键表的论文必须要有一个联合过滤器来代表其对主键表的依赖关系。
联合过滤并不仅限于主键/外键关系,事实上也可以针对任何两个不同的出版表的数据间的比较关系设置联合过滤。 copyright dedecms
文章评论
共有位Admini5网友发表了评论 查看完整内容