2
我有一個查詢在SELECT語句內對用戶定義函數進行多次調用。函數(vfget)從字符串中包含的key = value對返回值。優化MySQL查詢以避免對用戶定義函數的不必要調用
查詢是否可以只調用一次該函數並將其存儲在一個變量中,以便它可以在同一個查詢中重用?
目前我的查詢是:
SELECT
CASE WHEN(right(vfget(appmod_params, 'service'), 3) = '_dd' OR right(vfget(appmod_params, 'service'), 3) = '_wp')
THEN left(vfget(appmod_params, 'service'), length(vfget(appmod_params, 'service'))-3)
ELSE vfget(appmod_params, 'service')
END
FROM ota1003
LIMIT 10
謝謝,在刪除多餘的「(」 – 2010-03-17 17:01:45
)後完美工作是否可以避免在結果中輸出第一個字段? – 2010-03-17 17:27:24
@James:將查詢包含在嵌套查詢中,但效率較低 – Quassnoi 2010-03-17 17:40:06