0
我有一個簡單的表格,我必須提取一些記錄。問題是,評價函數是一個非常耗時的存儲過程,所以我不應該來兩次在這個句子中這樣稱呼它:MySQL優化語句
SELECT *, slow_sp(row) FROM table WHERE slow_sp(row)>0 ORDER BY dist DESC LIMIT 10
首先我想在優化這樣的:
SELECT *, slow_sp(row) AS value FROM table WHERE value>0 ORDER BY dist DESC LIMIT 10
但是它不起作用,因爲在評估WHERE子句時不會處理「值」。
任何想法來優化這句話?謝謝。
根據文本語料庫中單詞的「重要性」,slow_sp返回0到100之間的值。基本上訪問一組預先計算的值來確定一個int值。 我會嘗試HAVING值。謝謝。 – Ivan 2010-03-23 15:21:27
這是一個MySQL函數,對不對?基本上在包含where語句的每個列上添加索引。如果沒有在相關函數中看到查詢,我不能再幫忙。 – raveren 2010-03-23 15:32:19
沒關係。我忘記了HAVING子句可以提供幫助。現在它正在工作。謝謝! – Ivan 2010-03-23 17:15:07