모두 쿼리 자체에 따라 다릅니다. 인덱스 된 룩업 (where indexedColumn = somevalue) 또는 인덱싱 된 컬럼의 정렬 (Where 절 없음)을 수행하면 한계 1로 인해 실제로 속도가 향상됩니다. 조인이 있거나 여러 order/order 절이 있으면 상황이 실제로 복잡해진다. 하지만 "LIMIT 1"을 사용하는 것이 중요합니다. NEVER 쿼리의 속도가 느려집니다. 때로는 속도가 빨라지지만 결코 느려지지 않습니다.
이제 PHP를 다룰 때 또 다른 문제가 있습니다. 기본적으로 PHP는 쿼리에서 반환하기 전에 전체 결과 집합을 버퍼링합니다 (mysql_query 또는 mysqli-> 쿼리는 모든 레코드가 다운로드 된 후에 만 반환됩니다). 따라서 쿼리 시간이 제한 1로 조금 변경 될 수 있지만 PHP가 결과를 버퍼링하는 데 사용하는 시간과 메모리는 중요합니다. 각 행에 200 바이트의 데이터가 있다고 가정 해보십시오. 이제 쿼리에서 10,000 개의 행을 반환합니다. 즉, PHP는 2MB의 메모리를 추가로 할당해야합니다. 실제로는 사용하지 않을 PHP 구조체의 오버 헤드로 10MB에 가깝습니다. 메모리를 할당하는 것은 매우 비쌀 수 있으므로, 일반적인 규칙은 필요한 것만 할당합니다 (또는 필요할 것으로 생각 함). 1 만 원할 때 10,000 행을 다운로드하면 낭비입니다.
이 두 가지 효과를 결합하면 1 행만 원할 경우 왜 "LIMIT 1"을 사용해야하는지 알 수 있습니다.
실제로 ORDER BY를 사용하더라도 효과가있는 것으로 보입니다. 이것이 정렬 방법의 제품인지, 첫 번째 _row_count_ 행이 정렬되면 정렬을 중지 할 수 있는지 확실하지 않습니다. 내 대답의 링크를 참조하십시오. – Phil