2011-09-22 2 views
1

MySQL 쿼리에서 반환되는 작은 요소 집합을 정렬 할 때의 런타임 비용이 MySQL에서 정렬하는 것과는 달리 PHP에서 무엇인지 궁금합니다.PHP와 MySQL에서 작은 목록 (10 개 항목)을 정렬 한 다음 반환합니까?

이유는 MySQL에서 정렬 할 수 없습니다. 데이터 그룹이 반환되기 때문에 (사실 2 개의 쿼리와 함께 PHP 측에서 데이터를 가져 오는 것입니다).

감사합니다.

답변

3

10 개 요소에는 차이가 없습니다. 하지만 일반적으로 항상 PHP가 아닌 MySQL을 정렬해야합니다. MySQL은 정렬 작업을 최적화하고 적절한 데이터 구조와 정보를 가지고 있습니다.

추 신 : 결합하려는 데이터의 성격에 따라 : JOIN, UNIONsubqueries을 확인하십시오. 그들은 아마 그것을 할 것입니다.

+0

그래, 나는 그다지 요소가 중요하지 않다고 생각했다. 내가 생각하기에 더 큰 질문은 "MYSQL에서 UNION의 비용은 무엇인가"라는 것인데, 나는 그들과 하위 쿼리에서 성능이라는 이름으로 부끄러워하는 경향이 있습니다. – csjohn

+0

@csjohn : 상당히 작습니다. 두 개의 개별 쿼리 비용 (기본값)은 중복을 제거하므로 2 쿼리 + 전체 결과에서 고유 한 값을 선택하지 않아도됩니다. –

1

당신은 노조와 쿼리를 결합하고 MySQL과

Q1 
UNION 
Q2 
ORDER BY X 
2

내 의견을 정렬 할 수 있습니다 :

오버 헤드는 두 경우 모두 무시할 수 있습니다. 생산성을 최적화하고 더 쉬운 방법을 선택하십시오. 컴퓨터가 도움이 될 것입니다.

호스트를 최적화하고 싶다면 클라이언트가 자바 스크립트로 호스트하도록 허용 했습니까?

나는 아마도 SQL에서도 그렇게 할 것이지만 주로 로직을 한 곳에서 유지하기 위해 (결합력을 높이고 커플 링을 줄임).

+0

나는 지브를 잘랐다. 나는이 특별한 경우에 그렇게 할 수는 없지만, 나는 정말로 클라이언트에게 업무량을 줄이고 싶다. – csjohn

관련 문제