2010-12-10 57 views

回答

14

我相信如此。在複製工作之後,您可以將索引放在從服務器上,並創建您想要的索引,並且應該這樣做。由於MySQL複製語句而不是數據(至少默認情況下),只要插入,更新或從表中選擇所需的SQL不需要更改,它就不應該注意。

現在有明顯的缺點。如果您創建了一個不在主設備上的唯一密鑰,則可以在主設備上插入無法插入從設備的數據。如果使用索引完成更新,它可能會在主服務器上快速運行,但會導致從服務器上的表掃描(因爲您沒有任何索引是方便的)。

如果在主服務器上發生任何DDL變化(例如更改索引)並傳遞給從服務器,那麼即使您不希望它也會在那裏創建新索引。

+0

你如何改變從表? – jeffry 2014-03-03 16:40:33

2

當然,我認爲將InnoDB表複製到從屬系統上的MyISAM表中以便能夠添加全文索引是一種常見的做法。

14

當然。我一直這樣做。我碰到的問題:通過FORCE/USE/IGNORE INDEXSELECTS

  • 引用索引將在主ALTER statments報錯了
  • 引用索引可以打破複製
  • 將另一個步驟,以促進從作爲主在緊急情況下
  • 如果您使用基於聲明的複製(標準),並且您正在玩UNIQUE索引,則任何INSERT... ON DUPLICATE KEY,INSERT IGNOREREPLACE聲明都會導致極端數據漂移/ d ivergence
  • 性能差異(好與壞)
+0

你如何改變從表格? – jeffry 2014-03-03 16:41:12

相關問題