SQL Server의 단순화된 무작위 행 선택: 간소화된 접근 방식
SQL Server 사용자는 테이블에서 임의의 행 샘플을 선택해야 하는 경우가 많습니다. 이에 대한 깨끗하고 효율적인 방법을 찾는 것은 역사적으로 문제가 있었습니다. 이 기사에서는 단순화된 솔루션을 제시합니다.
이전 시도에는 복잡한 임시 테이블과 반복 프로세스가 포함되는 경우가 많았습니다. NEWID()
기능은 잠재력을 제공하지만 정확한 비율을 안정적으로 선택하는 것은 어려웠습니다.
간결하고 효율적인 솔루션은 다음과 같습니다.
SELECT TOP 10 PERCENT * FROM [yourtable] ORDER BY NEWID()
이 쿼리는 ORDER BY NEWID()
을 사용하여 행을 무작위로 섞습니다. TOP 10 PERCENT
그런 다음 셔플된 행 중 상위 10%를 선택합니다.
매우 큰 테이블의 경우 성능 최적화 접근 방식이 권장됩니다.
SELECT * FROM [yourtable] WHERE [yourPk] IN (SELECT TOP 10 PERCENT [yourPk] FROM [yourtable] ORDER BY NEWID())
이 접근 방식은 먼저 하위 쿼리를 사용하여 기본 키 값의 무작위 샘플을 선택합니다. 그런 다음 기본 쿼리는 이러한 키에 해당하는 행만 검색합니다. 이렇게 하면 스캔되는 데이터가 크게 줄어들어 성능이 향상됩니다.
이러한 기술은 SQL Server에서 무작위 행 선택을 수행하는 간단하고 효과적인 방법을 제공하여 이전의 복잡한 문제를 해결합니다.
위 내용은 SQL Server에서 임의의 행 비율을 효율적으로 선택하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!