반응형
"주문 기준(SELECT NULL)"은 무엇을 의미합니까?
다음 SQL은 Itzik Ben-Gan에서 숫자 표를 생성하는 데 사용됩니다.무엇을 합니까?order by (select null)
부분 평균?감사해요.
DECLARE @number_of_numbers INT;
SELECT @number_of_numbers = 100000;
WITH a AS ( SELECT 1 AS i
UNION ALL
SELECT 1
),
b AS ( SELECT 1 AS i
FROM a AS x ,
a AS y
),
c AS ( SELECT 1 AS i
FROM b AS x ,
b AS y
),
d AS ( SELECT 1 AS i
FROM c AS x ,
c AS y
),
e AS ( SELECT 1 AS i
FROM d AS x ,
d AS y
),
f AS ( SELECT 1 AS i
FROM e AS x ,
e AS y
),
numbers
AS ( SELECT TOP ( @number_of_numbers )
ROW_NUMBER() OVER ( ORDER BY ( SELECT NULL
) ) AS number
FROM f
)
SELECT *
FROM numbers;
감사합니다!
ROW_NUMBER에는 다음이 필요합니다.ORDER BY
구문적으로 절입니다.그것 없이는 사용할 수 없습니다.SELECT NULL
특정 명령을 시행하지 않으면서 오류를 차단하기 위한 해킹입니다.이 경우 주문을 강제할 필요가 없으므로 가장 빠른 옵션은 다음과 같습니다.SELECT NULL
.
옵티마이저는 이 트릭을 꿰뚫어 보기 때문에 런타임 비용이 들지 않습니다(이 주장은 실행 계획을 보면 쉽게 확인할 수 있습니다).
언급URL : https://stackoverflow.com/questions/10066819/what-does-order-by-select-null-mean
반응형
'programing' 카테고리의 다른 글
django-el-pagination에 대해 다중 페이지화(ajax)가 작동하지 않습니다. (0) | 2023.08.20 |
---|---|
mockMvc로 응답체에서 JSON을 확인하는 방법 (0) | 2023.08.20 |
Invoke-Command 오류 "지정된 명명된 매개 변수를 사용하여 매개 변수 집합을 확인할 수 없습니다. (0) | 2023.08.15 |
그리기 가능한 리소스 이미지를 비트맵으로 변환 (0) | 2023.08.15 |
PHP의 SQL을 사용하여 초 단위로 날짜 시간 저장 (0) | 2023.08.15 |