JOIN은 SQL 데이터베이스의 편리한 기능이지만 대규모 데이터베이스 (> 10GB)는 어떨까요? 하나의 사례 (예 : 하나의 기사의 태그)와 관련된 항목을 얻으려는 경우 다 대다 관계의 3 개 (2 열) 테이블을 고려하십시오.JOIN은 메모리에 맞지 않는 거대한 mysql 데이터베이스입니다.
사실 (틀렸다면 수정하십시오.) : 1. JOIN의 경우 3 개의 테이블이 메모리 내에 있어야합니다. 2. PRIMARY KEY에 의한 단일 SELECT는 메모리를 소비하지 않습니다. 3. 동시 읽기 연결이 많은 경우 초과 연결은 대기열에 보관됩니다 (요청 또는 오버로드가 실패하지 않음).
그런 다음 세 가지 간단한 SELECT 쿼리를 수행하는 것이 더 좋지 않습니까? 이로 인해 시스템이 약간 느려지지만, 기가 바이트 크기의 전체 테이블을 처리하는 것이 더 효율적이라고 생각합니다.
더 추가하는 것이 궁극적 인 해결책이라고 제안 할 수 있습니다. 하지만 난 여전히 큰 테이블을 처리하는 것은 초과 RAM이 쉽지 않다 생각합니다.
PRIMARY KEY를 사용하여 간단한 SELECT 쿼리에 대한 작업을 제한하면 대용량 데이터베이스를 효율적으로 처리 할 수 있습니다.
하지만 RAM이 염려되는 경우 ORDER BY를 피하십시오. –