반응형
where-clause - 성능에서 계산된 열
MySQL의 where-clause에서는 계산된 열을 다음과 같이 사용할 수 없습니다.
SELECT a,b,c,(a*b+c) AS d FROM table
WHERE d > n
ORDER by d
당신은 사용해야 합니다.
SELECT a,b,c,(a*b+c) AS d FROM table
WHERE (a*b+c) > n
ORDER by d
계산은 (해당 예에서 "(a*b+c)"는 행당 1회 실행됩니까, 아니면 2회 실행되나요?더 빨리 할 수 있는 방법이 있습니까?저는 칼럼에 주문은 가능하지만 WHERE 조항이 없는 것이 이상하다고 생각합니다.
HAVEN을 사용하여 계산된 열을 필터링할 수 있습니다.
SELECT a,b,c,(a*b+c) AS d, n FROM table
HAVING d > n
ORDER by d
다음을 포함해야 합니다.nSELECT 절에서 이 작업을 수행할 수 있습니다.
이렇게 할 수 있습니다.
SELECT a,b,c,d FROM
(SELECT a,b,c,(a*b+c) AS d) AS tmp
WHERE d > n
ORDER BY d
그러나 성능에 어떤 영향을 미칠 수 있는지는 잘 모르겠습니다.
언급URL : https://stackoverflow.com/questions/16068662/calculated-column-in-where-clause-performance
반응형
'programing' 카테고리의 다른 글
| MySQL pid가 종료됨(mysql을 시작할 수 없음) (0) | 2023.10.21 |
|---|---|
| node.js process.memoryUsage()의 반환 값은 무엇을 의미합니까? (0) | 2023.10.21 |
| PowerShell에 임시 디렉토리를 생성하시겠습니까? (0) | 2023.10.21 |
| CSS – 백분율 높이가 작동하지 않는 이유는 무엇입니까? (0) | 2023.10.21 |
| C#에서 이름과 성의 첫 글자를 대문자로 쓰는 방법은 무엇입니까? (0) | 2023.10.16 |