2013-09-24 59 views
2

我想知道是否有任何方式在MySQL從服務器上獲取特定查詢的「一致讀」。比方說,我在8點30分15秒向奴隸服務器發送一個查詢,並且在那一刻,奴隸仍在處理來自主箱日誌的查詢,並且時間戳記在該時間點之前。對於這個具體的查詢,我以某種方式指定了從機,我想要一致的讀取,所以從機將暫停讀取查詢,直到它在主機bin日誌中捕捉到8:30:15,因此使我能夠得到一個結果,如果它接收到查詢,主人會給出的結果是一致的。當然,當我等待讀取結果時,這會對我造成延遲,如果直接從主服務器請求,我不會承受這種結果,但它仍然允許我將該查詢發送給從服務器,並獲得一致的從中讀取。從從屬獲得一致的讀取

MySQL中有什麼允許從屬的這種查詢特定選項嗎?

謝謝!

+0

簡答:不需要很長的答案:問一個DBA。 – tadman

+0

@tadman這就是我想的:(以爲這是值得問無論如何 – Jerome

回答

0

從站無法用最新的更新服務器查詢,所以我們可以如下。

在這種情況下,我們應該將HttpSesion標記爲髒,以便所有讀取都將傳遞給主服務器,而不是服務於最新副本的從服務器。

+0

我已經在使用類似這樣的解決方案,但我認爲這將是很好的能夠指定特定的查詢,我們希望一致的閱讀,而沒有當只有1或2個查詢可能需要這種一致性時,整個會話被定向到master。 – Jerome

+0

@Jerome好了,那麼你可以重定向這些查詢來聯繫master,而不是應用程序的slave。 – Trying