집 >데이터 베이스 >MySQL 튜토리얼 >SQL 데이터베이스 테이블에서 무작위 행을 효율적으로 검색하려면 어떻게 해야 합니까?
SQL 데이터베이스에서 임의의 행 선택
SQL 데이터베이스 테이블에서 임의의 단일 행을 효율적으로 검색하려면 신중한 고려가 필요합니다. 진정한 무작위성을 보장하기는 어렵지만 몇몇 SQL 기술은 거의 무작위 선택을 제공합니다.
무작위 행 선택 접근 방식:
최적의 방법은 특정 데이터베이스 시스템에 따라 다릅니다.
MySQL 및 PostgreSQL:
이 접근 방식은 RAND()
함수를 사용합니다.
<code class="language-sql">SELECT column FROM table ORDER BY RAND() LIMIT 1;</code>
Microsoft SQL Server:
SQL Server는 NEWID()
기능을 사용합니다.
<code class="language-sql">SELECT TOP 1 column FROM table ORDER BY NEWID();</code>
IBM DB2:
DB2는 RAND()
:FETCH FIRST
와 함께
<code class="language-sql">SELECT column, RAND() AS IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY;</code>
오라클:
Oracle은 하위 쿼리 내에서 dbms_random.value
을 사용합니다.
<code class="language-sql">SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1;</code>
이 방법은 각 행에 대해 임의의 값을 생성한 다음 이 값을 기준으로 행을 정렬합니다. 그런 다음 LIMIT
절(또는 이에 상응하는 절)이 맨 위 행을 선택합니다. 완벽하게 무작위적이지는 않지만 이러한 기술은 대부분의 응용 분야에 실용적인 솔루션을 제공합니다. 이러한 쿼리는 계산 비용이 많이 들 수 있으므로 특히 대규모 테이블의 경우 성능에 미치는 영향을 염두에 두세요.
위 내용은 SQL 데이터베이스 테이블에서 무작위 행을 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!