P粉6628028822023-08-31 13:18:44
저는 거의 확실하게 은용액을 선택하겠습니다
귀하의 진술:
말도 안 돼요. 두 결과 세트를 함께 분할/슬라이싱/연결하는 것은 성능에 측정 가능한 영향을 미치지 않을 것입니다. 확실히 "요청이 느려지는" 것은 아닙니다!
이것은 귀하의 시나리오에 맞는 SQL 솔루션이지만 관련된 테이블의 크기에 따라 두 개의 결과 집합을 함께 연결하는 것보다 속도가 거의 확실히 느립니다.
으아악장난감이 1000개보다 많으면 여기에 설명된 대로 재귀 cte가 기본값 cte_max_recursion_length에 도달합니다.
위 쿼리 앞에 다음 명령을 실행하여 제한을 제거할 수 있습니다.
으아악또는 toys 테이블에서 "nofollow noreferrer">ROW_NUMBER()를 사용하여 재귀 CTE를 비재귀 CTE로 변경합니다.
으아악이것은 당신이 가지고 놀 수 있는 db<>fiddle입니다.
P粉5712335202023-08-31 00:35:47
올해에는 쿼리에서 직접 정렬하는 것이 더 복잡합니다. MySQL 결과 세트는 고정 위치별로 정렬됩니다복잡성을 자세히 이해하고 싶다면 이 질문을 참조하세요.
이전에 했던 작업은 비교적 간단하고 두 가지 쿼리를 통해 완성되었는데,
다음은 참고할 수 있는 예시입니다
으아악