내가 가진 쿼리 내가 첫 데이트 필터링을 통해 모든 결과를 제거하기 만하면됩니다하지만 당신이 볼 수있는 내가 모든 것을 얻을하고 내 날짜 분류를 할 무엇MySQL의 쿼리 최적화 내부에 가입
$query = "SELECT DISTINCT report_date,weekreportDate FROM contract_sales a
INNER JOIN contract b ON a.contract_UUID = b.UUID
INNER JOIN geoPoint c ON b.customer_UUID = c.customerUUID
WHERE c.com_UUID = '$com' AND a.report_date >= Date('$dateafter')
AND c.city_UUID = '$cit' ORDER BY `report_date`";
수표에 ..
나는 그들 모두를 속이기 때문에 - 이것을 할 수있는 더 좋은 방법이 있습니까?
나는 각 날짜에 대한 보고서를 가지고 있으며 2 년간의 데이터를 가지고 있습니다. 2014 년에만 날짜를 얻고 싶습니다. 지금 당장은 쓸모없는 700 개 이상의 날짜를 볼 수 있지만 계속해야합니다. 그들 모두는 다른 문자열 UUID도 검사 할 수 있습니다. 느린 구현 임에도 불구하고 작동 속도를 높이려면 어떻게해야합니까? 요청에 따라
정보 설명 : 조회의 재 작성,
Generation Time: Feb 20, 2014 at 06:48 PM
Generated by: phpMyAdmin 3.3.10.4/MySQL 5.1.53-log
SQL query: EXPLAIN SELECT DISTINCT report_date,weekreportDate FROM contract_sales a INNER JOIN contract b ON a.contract_UUID = '1234' INNER JOIN geoPoint c ON b.customer_UUID = '1234' WHERE c.com_UUID = '1234' AND a.report_date >= Date('2014-01-01') AND c.city_UUID = '1234' ORDER BY `report_date`;
Rows: 3
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE a ref uuid_conlcs uuid_conlcs 110 const 1 Using where; Using temporary; Using filesort
1 SIMPLE b ref uuid_cust uuid_cust 110 const 1 Using where; Using index; Distinct
1 SIMPLE c ref uuid_gargp,uuid_citgp uuid_citgp 110 const 1 Using where; Distinct
감사합니다. 그게 당신이 진술 한 것을 소화하기 위해 시간이 좀 걸릴 것 같지만 처음 읽기에서 나는 이해하고 이것이 한 발을 줄 것이라고 생각합니다! 고맙습니다 !! – morty346
@ morty346, 죄송합니다. 늦게 편집하지만, 두 번째 쿼리는 응답 컨텍스트를 개정 할 때 실제로 다른 인덱스를가집니다. – DRapp