ORDER BY RAND()가 유일한 해결책은 아닌가요?
ORDER BY RAND()
은 MySQL에서 결과를 무작위로 지정하는 일반적인 방법이지만 여러 개의 무작위 결과가 필요한 경우에는 비효율적입니다. 전체 결과 집합을 정렬해야 하기 때문에 큰 테이블에는 매우 비효율적입니다.
보다 효율적인 대안
이러한 쿼리를 최적화하려면 보다 효율적인 방법을 사용하는 것이 좋습니다.
<code class="language-sql">SELECT g.* FROM table g JOIN (SELECT id FROM table WHERE RAND() < p><strong>工作原理</strong></p><p>此优化后的查询使用了以下技术:</p></code>
최적화 방법의 장점
이 최적화 방법에는 다음과 같은 장점이 있습니다.
ORDER BY RAND()
쿼리보다 훨씬 빠르게 실행됩니다. 제한사항
이 방법은 모든 상황에서 작동하지 않을 수 있다는 점에 유의하는 것이 중요합니다. 여러 조인이나 WHERE
절이 포함된 복잡한 쿼리에는 더 복잡한 하위 쿼리와 최적화 기술이 필요할 수 있습니다.
위 내용은 ORDER BY RAND()가 MySQL에서 여러 개의 무작위 결과를 얻는 가장 좋은 방법입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!