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
감사합니다. "(" –
결과에 첫 번째 필드가 출력되는 것을 피할 수 있습니까? –
@James : 효율성이 떨어지지 만 쿼리를 중첩 된 쿼리로 묶습니다. – Quassnoi