我有大量的背景讀取和寫入,以及少量的用戶讀取高度競爭的MySQL數據庫 - 是否有任何方式來標記某些查詢(用戶查詢)爲高優先級,以便他們採取優先於後臺查詢?我希望用戶的響應能力很高,但並不關心後臺查詢。如何優先考慮MySQL中的某些查詢?
由於
我有大量的背景讀取和寫入,以及少量的用戶讀取高度競爭的MySQL數據庫 - 是否有任何方式來標記某些查詢(用戶查詢)爲高優先級,以便他們採取優先於後臺查詢?我希望用戶的響應能力很高,但並不關心後臺查詢。如何優先考慮MySQL中的某些查詢?
由於
MySQL支持爲update
小號insert delayed
用於延遲insert
S和low_priority
。並且爲了您的用戶閱讀,select
上有high_priority
擴展名。如果您使用的是MyISAM存儲引擎,則有相關(但不同)的concurrent inserts功能。
另一方面,'SELECT'支持'HIGH_PRIORITY'關鍵字,它給出與更新相同的優先級。 – 2010-03-09 10:38:00
@Romuald:顯然,我正在編輯我的答案,因爲你評論。 :-) – 2010-03-09 10:39:45
我是否正確認爲如果沒有高優先級選擇所有低優先級的插入和更新將只是在正常的優先級? – MalcomTucker 2010-03-09 10:46:19
您正在使用哪種存儲引擎? InnoDB的? MyISAM數據? – 2010-03-09 10:33:15
InnoDB,但我可以切換,如果有很好的理由.. – MalcomTucker 2010-03-09 11:08:26