저는 MySQL을 처음 사용하지만 오랫동안 Oracle을 사용해 왔습니다. 나는 약간의 MySQL의 LIMIT
키워드에 대해 혼란 스럽다. 이 키워드는 쿼리가 실행될 때마다 반환되는 데이터의 순서가 동일 함을 의미합니까? 쿼리에 영향을주는 테이블에 더 많은 데이터가 추가되면 어떻게 될까요? 그리고 order-by 절이 없으면 데이터는 어떻게 정렬됩니까?MySQL의 LIMIT 키워드는 반환 된 데이터의 순서를 보장합니까?
1
A
답변
4
아니요, LIMIT
은 비 결정적입니다. 순서는 데이터, 사용되는 인덱스, mysql 버전 간의 내부 변경 사항, 디스크상의 데이터 순서 등에 따라 다릅니다.
일반적으로 LIMIT
과 ORDER BY
을 결합하여이 문제를 방지합니다.
1
ORDER BY를 지정하지 않으면 첫 번째로 반환 될 행에 대한 보장이 없습니다.
실제로 주문은 일반적으로 클러스터 된 인덱스 순서와 일치하며 호출간에 변경되지는 않습니다. 이 동작에 의존하지 마십시오.
2
LIMIT은 반환 된 데이터에 순서를 지정하지 않습니다.
ORDER BY 절이 사용되지 않으면 제한이 실행될 때마다 동일한 순서가 반환된다는 보장이 없습니다. 데이터가 삽입되면 순서화 된 결과와 순서가 지정되지 않은 결과의 결과에 영향을 미칠 수 있습니다.
ORDER BY 절을 생략하면 기본적으로 데이터베이스를 사용하여 순서를 결정할 수 있으며 아마도 테이블의 인덱싱 방법에 따라 달라질 수 있습니다. 테이블이 다시 인덱싱되거나 더 많은 데이터가 추가되면 시간이 지남에 따라 변경됩니다.
관련 문제
- 1. MySQL의 - LIMIT
- 2. MySQL의 하위 쿼리 LIMIT
- 3. MySQL의 수학 및 LIMIT
- 4. Type.GetProperties()는 PropertyInfo [] 결과의 특정 순서를 보장합니까?
- 5. C#의 foreach 루프가 평가 순서를 보장합니까?
- 6. CGImageGetDataProvider에서 반환 된 데이터의 길이가 예상보다 큽니다
- 7. json에서 반환 된 데이터의 html 태그
- 8. 타임 스탬프 된 데이터의 순서를 저장하는 방법은 무엇입니까?
- 9. 나는이 코드를 가지고 MySQL의 페이징 (LIMIT)
- 10. MySQL의 'IN'절 및 반환 된 레코드 집합 순서 예를 들어
- 11. 루비의 각 반복자가 매번 동일한 요소에 대해 동일한 순서를 보장합니까?
- 12. Objective-C에서 빠른 열거 형은 반복 순서를 보장합니까?
- 13. Objective-C가 인터페이스 구성원 데이터의 초기화를 보장합니까? 인터페이스에서
- 14. 데코레이터에서 명명 된 키워드는 무엇입니까?
- 15. MySQL의 반환 테이블 이름
- 16. MacRuby에서 대리자 메서드에 의해 반환 된 데이터의 포인터
- 17. xml 구문 분석에서 반환 된 데이터의 조건부를 작성하십시오.
- 18. C# 반환 된 데이터의 크기 및 SQL 쿼리
- 19. 반환 내가 MySQL의 테이블이 mysql을
- 20. 데이터의 직렬화를 해제하고 MySQL의 ID와 대조하여 확인하십시오.
- 21. Jetty는 start()가 반환 한 후에 작동 할 것을 보장합니까?
- 22. 코어 데이터의 인덱싱 된 관계
- 23. MySQL의 특정 날짜에 행을 반환
- 24. QueryPerformanceCounter는 부팅 후 시간을 보장합니까?
- 25. select가 다른 순서를 반환 할 수있는 상황
- 26. Oracle 11G LIMIT/OFFSET
- 27. 동기화 된 java 키워드는 어떻게 구현됩니까?
- 28. 허용 CON은, URL에있는 예약 된 키워드는
- 29. MYSQL 및 LIMIT 절
- 30. LIMIT 다음 RAND가 아닌 RAND 다음 LIMIT