완료하려면 11 초가 걸리는 Cloud SQL 인스턴스 (유형 : D1 mysql 5.6.16)에서 다음 쿼리를 실행하고 있습니다. 내 공유 호스팅 (사양면에서 특별한 것은 없음)에서 mysql (v5.5.35)에서 실행되는 것과 동일한 색인 및 내용을 가진 동일한 데이터베이스에서 쿼리는 단지 0.068 초 밖에 걸리지 않습니다.Cloud SQL 및 로컬 서버에서 중요한 쿼리 시간 차이
검색어 :
이SELECT casenotes.caseworkerID,COUNT(*)
FROM emails LEFT JOIN (casenotes) ON (emails.ID=casenotes.subtypeID)
WHERE emails.type='sent' AND casenotes.type='email' AND
emails.datetime > '2014-05-01'
GROUP BY casenotes.caseworkerID;
이 클라우드 SQL 서버의 설명 결과가
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE casenotes ref type,subtypeID,caseworkerID type 22 const 6447 Using index condition; Using where; Using temporary; Using filesort 1 SIMPLE emails eq_ref PRIMARY,ID,type,datetime PRIMARY 8 casework_test.casenotes.subtypeID 1 Using where
이는 내가합니까
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE casenotes ref type,subtypeID type 22 const 6451 Using where; Using temporary; Using filesort 1 SIMPLE emails eq_ref PRIMARY,type,datetime PRIMARY 8 zahawizs_caseworker.casenotes.subtypeID 1 Using where
를 공유 호스팅에 대한 결과를 설명입니다 누구든지 어떤 su를 가졌다. 이 select 문이나 Cloud SQL 서버 인스턴스를 조정하여 더 빨리 반환 할 수있는 방법에 대해 설명합니다.
예, MyISAM을 사용하지 마십시오. InnoDB는 트랜잭션 지원을 제공하며 자체 메모리 관리 기능을 제공합니다. Cloud SQL은 InnoDB에 최적화되어있다. 또한 filesort를 사용하는 쿼리는 Cloud SQL에서 현재 느립니다. 따라서 최상의 성능을 위해서는이를 피하십시오. –
해당 쿼리로 파일 정렬을 피하는 방법이나 다른 방법을 사용하는 방법에 대한 제안 – SimonSmethMac
GROUP BY를 제거하면 파일 세트가 사라지나요? –