マスタからの読み取り専用スレーブに対して別のインデックスを設定することはできますか?基本的には、これは2つのシステムのさまざまな要件を考えれば意味をなさないようですが、問題なく動作することを確認したいと思います。マスターとスレーブ(MySQL)でテーブルを別々にインデックスできます
23
A
答えて
14
私はそう信じています。レプリケーションが動作した後、スレーブにインデックスをドロップし、必要なインデックスを作成することができます。 MySQLはテーブルを挿入したり更新したり、テーブルから選択するために必要なSQLが変更される必要がない限り、少なくとも(デフォルトでは)データをレプリケートしないので、通知する必要はありません。
ここに明らかに欠点があります。マスターにないユニークなキーを作成すると、スレーブに挿入できないマスターにデータが挿入される可能性があります。インデックスを使用するアップデートが行われた場合、それはマスター上で速く実行されるかもしれませんが、スレーブ上でテーブルスキャンを引き起こします(インデックスが手に入りません)。
スレーブに渡されるマスタ上で(インデックスを変更するなど)DDLの変更が発生した場合でも、そのスレーブには新しいインデックスが作成されます。
2
確かに、フルテキストインデックスを追加できるように、InnoDBテーブルをスレーブ上のMyISAMテーブルに複製することも一般的に考えられます。
14
私はいつもそれをする。私はに実行した問題:
SELECTS
でFORCE/USE/IGNORE INDEX
を経由してインデックスを参照するには、- マスターに
ALTER
たstatments内のインデックスを参照すると、レプリケーション - を破ることができるしてエラーになりますマスターにスレーブを促進する別のステップを追加します。非常時の場合
UNIQUE
インデックスを使用している場合、INSERT... ON DUPLICATE KEY
、INSERT IGNORE
またはREPLACE
のステートメントは極端なデータドリフティング/ dを引き起こしますibergence- 性能の差(良いか悪いか)
+0
どのようにスレーブテーブルを変更しますか? – jeffry
関連する問題
- 1. binログダンプ - mysqlマスターとスレーブ
- 2. MySQLマスター/スレーブ - 自動サーバーID
- 3. MySqlレプリケーション - スレーブ後ろに遅れてマスター
- 4. 同時にMongoDBマスターとスレーブ
- 5. スレーブ側で行ベースのマスター/スレーブレプリケーションでMysqlトリガーイベントが発生する
- 6. Jenkinsマスター/スレーブWindows
- 7. スレーブをマスターに接続できません
- 8. Jenkins:スレーブをマスターに接続できません
- 9. Sparkでスレーブをマスターに接続できない
- 10. マスターと2つのスレーブを使用したMYSQLレプリケーション
- 11. Arduino HC-05マスター/スレーブ
- 12. スレーブ/マスターjmeterとバーチャルボックスネットワークオプションを接続する
- 13. mysqlとsqlserverとpostgresはインデックスを別々に保存していますか?
- 14. mysqlのマスターとスレーブのレプリケーションのパフォーマンスのテスト
- 15. クエリ - [MYSQL 5.1(マスター)MYSQL 5.6(スレーブ)複製エラーへ]
- 16. Mesosスレーブは、Windows 2016上でマスター
- 17. マスターとスレーブが通信できない場合はどうなりますか?
- 18. リモートチャンク:マスターとスレーブ間でデータを交換する方法
- 19. スレーブ通知マスターにする方法?
- 20. mysqlグループでと別々の列
- 21. mysqlの複製5.5マスターから5.7へのスレーブ
- 22. Jenkinsスレーブがマスターに接続できません:不正確な確認シーケンス
- 23. Redisクラスタフェールオーバー:スレーブがマスターにならない
- 24. SOLRスレーブはマスターと同じでなければならない?
- 25. Jenkinsのスレーブからマスターにファイルをコピーしますか?
- 26. Kubernetesで赤いセンチネルクラスタを作成すると、赤いマスターはスレーブの元を取得できません。
- 27. mySQL JOIN列と1つのテーブルで別々にカウントし、他のテーブルの値を増やす
- 28. スレーブの役割を持つBLE(v4.2)デバイスに複数のマスターがあることはできますか?
- 29. select/insertsを検証する方法は、MySQLのマスター/スレーブで正しいサーバーを起動しています
- 30. MySQL Masterは同時にスレーブですか?
どのようにスレーブテーブルを変更しますか? – jeffry