0

システム全体のパフォーマンスを微調整するために、既存のテーブルのインデックスをチェックしていたところ、毎日何百万ものトランザクションでヒットする(警告とエラーを書き込むための)ErrorLogテーブルを使用していることがわかりました。この種のテーブルには(日時に)インデックスがあるので、このロギングは、インデックスなしでテーブルにログインするよりも確実に時間がかかると思いました。

CreateDateTimeのインデックス全体は、本番環境でのトラブルシューティングのためにテーブルをクエリするために開発者によってのみ使用されます。プライマリ本番サーバーでインデックスを取得し、セカンダリ(バックアップ)データベースサーバーのテーブルのインデックスのみを持つことは可能ですか?セカンダリサーバーでレプリケーションを実行しているため、データは常にSyscにあります。

レプリケーションを介して両方のテーブルを同期するには、両方のテーブルに同じインデックスを設定する必要がありますか?

4

1 に答える 1

0

トランザクション レプリケーションを想定すると、パブリッシャーとサブスクライバーの間でインデックスが同じでなければならないということは何もありません。維持する必要があるのは主キーだけです。これは、レプリケーションがサブスクライバーのどの行をパブリッシャーの特定のステートメントによって影響を受ける必要があるかを識別する方法です。

于 2012-12-05T18:18:43.247 に答える