2014-07-02 18 views
1

我最近在Amazon RDS上成功設置了只讀副本。它的一切運行良好,雖然複製滯後似乎很大(通常> 60秒)。從監視進程看來,主/主DB上的所有UPDATE命令都在副本/從服務器上執行。AWS RDS MySQL Read Replica運行不相關的查詢

這似乎令人驚訝,因爲系統知道受影響的行數(在主)上,所以我假設它沒有傳遞任何不會改變任何內容的查詢。但是,即使這些都在從屬上執行。

爲什麼這和你怎麼能阻止這種情況發生?

回答

2

確定查詢是相關還是不相關需要一點智能;據說,基本所有影響MASTER的查詢都會碰到Read-Replica。

那就真的很難(恕我直言不可能)創建一個系統,以確定哪些查詢被從主發送到讀副本,因爲

UPDATE students SET SCORE = 100 WHERE student_id = 100可能返回0 row(s) affected

,也TRUNCATE TABLE student跳過永遠回報 0 row(s) affected

所以,底線所有由MASTER處理的查詢應該再次處理Read-Replicas。