每隔一段時間,我們都會在MySQL中得到一段特別長的全文查詢。查詢將運行很長時間,目前我看到一個運行時間爲50,000秒(仍然會)。對查詢使用Kill或Kill Query似乎什麼也不做。另外,客戶端的命令Timeout是30秒,所以客戶端已經失敗並退出了,但服務器只是繼續運行查詢,佔用了相當多的資源。在過去,我們必須重新啓動MySQL服務才能讓這些查詢停止運行。有沒有其他的方法來阻止這些查詢。我們正在採取措施確保查詢不首先運行,但它們仍然每隔一段時間運行一次,這是一個主要的難題。主要是因爲在查詢運行時,我們無法在表上執行更新。MySQL全文查詢鎖定表
長時間運行的查詢的一個例子是沿着線的東西:
SELECT id,Title From Articles WHERE MATCH(ArticleText) AGAINST('+Nintendo*HD*Wii*' IN BOOLEAN MODE)
這個特別長的運行,因爲在搜索字符串中間的*的,以及在的結束串。
也許顯示這些長時間運行的查詢之一的示例? – pjanaway 2010-06-22 16:36:20