>  기사  >  데이터 베이스  >  제한에 의한 mysql 주문의 함정을 해결하는 방법

제한에 의한 mysql 주문의 함정을 해결하는 방법

WBOY
WBOY앞으로
2023-05-27 11:03:221560검색

페이징 쿼리를 수행할 때 직면하게 되는 함정:

발견된 문제: 색인화되지 않은 단일 필드를 정렬한 후 제한이 발견되었습니다. 정렬된 필드가 동일한 값을 갖고 제한 범위 내에 있을 때 가져온 값이 일반 정렬 후의 값이 아닌 것으로 나타났습니다.

즉, N행에 순위가 매겨진 데이터가 key1 또는 key2일 수 있는 경우 정렬 결과는 key1 또는 key2가 될 수 있습니다.

mysql order by limit的坑怎么解决

정렬 + 결과 제한(색인 없는 정렬 키)
key_word를 가져오고 상위 3개 결과를 얻으려면 cnt를 누르세요.

mysql order by limit的坑怎么解决

원문:

여러 행의 ORDER BY 열에 동일한 값이 있는 경우 서버는 해당 행을 어떤 순서로든 자유롭게 반환할 수 있으며 전체 실행 계획에 따라 다르게 수행할 수 있습니다. 즉, 해당 행의 정렬 순서는 비결정적입니다. 순서가 지정되지 않은 열과 관련하여.
이는 order by 열의 값이 동일한 경우 mysql이 이러한 행을 무작위로 선택하며 이는 실행 계획에 따라 달라짐을 의미합니다.

해결 방법: 열별 정렬에는 인덱스 열이 포함되어 있습니다
여기에 기본 키 ID를 정렬 열로 추가하세요

위 내용은 제한에 의한 mysql 주문의 함정을 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제