2014-12-12 5 views
1

MyISAM V의 동일한 select 쿼리의 결과 출력에 동일한 테이블의 InnoDB와 차이가 있는지 알고 싶습니다 .MyISAM 대 InnoDB MySQL 엔진 (특히 전체 텍스트 검색)에 대한 select 쿼리 결과의 차이점

MyISAM은 FULL TEXT 검색을 할 수 있다는 것을 알고 있습니다. 그러나 산출물의 순서가 다를 것인가?

+0

아니요, 전체 텍스트 검색이 아닌 경우에는 차이가 없습니다. 순서는 쿼리의'order by' 절에 의해 결정됩니다. 다른 주문은 보장되지 않습니다. – paqogomez

+0

전체 텍스트 검색은 어떨까요? 내 질문을 업데이트하겠습니다. MySQL 5.6 이후 버전 이후에는 InnoDB가 FULL TEXT Searches를 허용합니다. – mohanjot

답변

3

출력의 순서는 order by 절에 의해 결정됩니다. 당신에게는 세 가지 가능성이 있습니다.

먼저, order by 절이 없습니다. 그런 다음 결과 집합은 불확정 순서입니다. 동일한 데이터에 대해 동일한 쿼리를 실행하면 여러 차례 실행될 때 동일한 순서로 결과가 산출된다고 말할 수는 없습니다. 당신은 분명히 다른 데이터베이스에서 실행에 대해 어떤 진술을 할 수 없습니다.

둘째, order by 절이 있으며 안정적인 정렬입니다. 즉, 각 주문 키가 각 행을 고유하게 식별합니다 (아무런 관계도 없음). 그 결과는 SQL 표준과 MySQL 문서 모두에 의해 지정됩니다. 결과 세트는 동일한 순서로됩니다.

셋째로, order by 절이 있고 그 중 하나가 있습니다. 키는 두 결과 세트에서 동일한 순서로 있습니다. 그러나, 관계가있는 키는 순서에 관계 없기 때문에, 2 개의 결과 세트는 같은 순서로 보증 할 수 없습니다.

요약 : 결과가 특정 순서로 나타나려면 order by을 사용하십시오.

관련 문제