是否可以在命令行(在Linux中)爲類似於nice
命令的MySQL中的查詢分配較低的優先級?如果沒有,有沒有可以做類似這樣的事情的數據庫?Mysql中的低優先級查詢
回答
您可以使用取決於查詢的類型在查詢的LOW_PRIORITY
或HIGH_PRIORITY
你執行:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] INTO ...
SELECT [HIGH_PRIORITY] * FROM ...
UPDATE [LOW_PRIORITY] table ...
從Mysql 5.7 documentation爲INSERT
查詢,例如:
如果使用LOW_PRIORITY關鍵字,INSERT的執行被延遲,直到沒有其他客戶端正在從表中讀取。這包括其他客戶端在現有客戶端正在讀取時開始閱讀,而INSERT LOW_PRIORITY語句正在等待。因此,發佈INSERT LOW_PRIORITY語句的客戶端可能會等待很長時間。
但它也說:
這會影響只使用表級鎖只存儲引擎(如MyISAM,MEMORY和MERGE)
所以,你贏了」例如,除非您想使用LOCK_TABLES
,並因此降低其性能,否則可以使用此功能性,例如innodb
。
我[只是在dba stackexchange上閱讀](http://dba.stackexchange.com/a/56379/8378),如果您的數據庫始終處於正常運行狀態,LOW_PRIORITY查詢可能永遠不會運行HIGH_PRIORITY查詢......讓我們思考! –
這個答案指出你可以使用LOW_PRIORITY來進行INSERT,SELECT和UPDATE。至少從MySQL 5.7開始,此選項不適用於SELECT語句。請參閱https://dev.mysql.com/doc/refman/5.7/en/select.html – ChrisInEdmonton
@ChrisInEdmonton謝謝,我更正了我的答案。 'SELECT'查詢中不能使用'LOW_PRIORITY'(而不僅僅是5.7),[但是'HIGH_PRIORITY'是](https://dev.mysql.com/doc/refman/5.7/en/select.html) – julienc
- 1. MySQL中的極端低優先級SELECT查詢
- 2. SQL優先級查詢
- 3. CSS優先級查詢
- 4. INSERT查詢優先級
- 5. 使exe優先級低
- 6. 低優先級Express.js app.get('/ route');
- 7. MySQL的優先級
- 8. SQL中SELECT查詢的優先級
- 9. 在SQL Server中查詢的優先級
- 10. Key +祖先的低級AppEngine查詢
- 11. OS X中的低優先級I/O
- 12. MYSQL如何優先查詢?
- 13. 設置低優先級爲長mongodb查詢
- 14. PHP或MySQL中的低優先級請求
- 15. 優先級不同的SQL查詢
- 16. 基於優先級的查詢結果
- 17. 優先級隊列中的優先級
- 18. qsub低優先級的作業?
- 19. 降低Task.Factory.StartNew線程的優先級
- 20. 創建低優先級的Android服務
- 21. 優先級和優先級
- 22. 優先查詢
- 23. @requestmapping春季優先級順序查詢
- 24. 媒體查詢邏輯(優先級)
- 25. 如何查詢issuetype和優先級?
- 26. 低優先級Timer1不工作
- 27. 從低優先級從java運行ffmpeg
- 28. 運算符優先級(按位'&'低於'==')
- 29. 發佈低優先級更新
- 30. matlab低優先級系統調用
你想解決哪個問題? – VMai
MySQL得到了相反的結果:_HIGH_PRIORITY賦予SELECT更高的優先級,而不是更新表的語句。您應該只用於查詢速度非常快且必須立即完成的查詢。即使有更新語句正在等待表空閒,在表被鎖定以便讀取時仍會執行SELECT HIGH_PRIORITY查詢。這隻會影響只使用表級鎖定的存儲引擎(如MyISAM,MEMORY和MERGE)._ source:[SELECT]的手冊頁(https://dev.mysql.com/doc/refman/5.6/en /select.html) – VMai