WAN上でトランザクションレプリケーション(プッシュモデル)を実装していて、特定のテーブルの一括更新中にスローダウンが発生することがあります(つまり、その特定のテーブルに対して「複製」されます)。当該テーブルは、RarelyUpdated_n列がFrequentlyUpdated_n列(例えば、20のMBS)と非常に大きい相対的なデータを含むことができるフォーマットテーブルスキーマはトランザクションレプリケーションのパフォーマンスに影響します
CREATE TABLE [Table](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FrequentlyUpdated_0] [float] NULL,
[FrequentlyUpdated_1] [float] NULL,
[FrequentlyUpdated_2] [float] NULL,
[RarelyUpdated_0] [varbinary](max) NULL,
[RarelyUpdated_1] [varbinary](max) NULL,
[RarelyUpdated_2] [varbinary](max) NULL
)
を有しています。質問は今、私たちは別の方法では、以下の
CREATE TABLE [FrequentlyUpdatedTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[FrequentlyUpdated_0] [float] NULL,
[FrequentlyUpdated_1] [float] NULL,
[FrequentlyUpdated_2] [float] NULL
)
CREATE TABLE [RarelyUpdatedTable](
[Id] [int] IDENTITY(1,1) NOT NULL,
[RarelyUpdated_0] [varbinary](max) NULL,
[RarelyUpdated_1] [varbinary](max) NULL,
[RarelyUpdated_2] [varbinary](max) NULL
)
または言い回しのような二つの異なるテーブルに問題のテーブルを分割した場合、それは可能性の高いパフォーマンスが向上するかどうかです:パフォーマンスは、行データのサイズやのジャストサイズに依存してい更新されたデータ?
PS。セットアップに関わるすべてのサーバーに負荷がかからないため、パフォーマンスの問題はI/Oに関連していると思われます。