2012-02-16 110 views
0

我想提高我的應用程序中某些INSERT語句的執行優先級。以下是這些報表的外觀:INSERT查詢優先級

INSERT HIGH_PRIORITY INTO tbl values(......) 

到目前爲止,這麼好。當我在服務器上運行mtop(數據庫在哪裏)時,我發現HIGH_PRIORITY關鍵字的查詢仍在執行隊列中,並且正在等待其他一些查詢被執行。

如何更好地優先處理我的查詢?

回答

0

如果你使用MySQL服務器引擎5.1或更高版本是這樣的原因,根據文檔:

如果指定了HIGH_PRIORITY,它會覆蓋如果在 - 低優先級的更新功能選項的效果服務器是以該選項啓動的。這也會導致併發插入不被使用。

LOW_PRIORITY和HIGH_PRIORITY僅影響僅使用表級鎖定(例如MyISAM,MEMORY和MERGE)的存儲引擎。

我假設你的情況是你使用InnoDB存儲引擎,考慮至少對這些特定的表進行更改。見http://dev.mysql.com/doc/refman/5.1/en/insert.html

+0

希望我用MyISAM。 – foho 2012-02-16 15:24:41

+0

然後優先級應該像描述的那樣工作,MySQL服務器的版本是什麼?如果您使用4.x也許優先級不被正確支持,或者它是錯誤的... – bodi0 2012-02-16 15:35:54