현재로드하는 데 시간이 오래 걸리는 SQL 쿼리가 있습니다. 누군가 도움이 될지 궁금한가요? 나는 MySQL에 대해 상당히 새로운 것이다.SQL 쿼리가 더 빠릅니다.
SELECT applicationid
FROM logs
WHERE action = 'VIEWED'
AND userid = '$user'
AND date >= '$dateminus7'
AND applicationid NOT IN (
SELECT applicationid
FROM logs
WHERE userid = '$user'
AND date >= '$dateminus7'
AND (action LIKE 'SUBMITTED NOTE%' OR action LIKE 'CHANGED STATUS%')
)
는 기본적으로 그들이 (아주 나쁜) 고객 계정에 액세스 할 때 메모를 남겨하지 않는 사용자를 찾을 일부 데이터베이스를 통해보고 :
이
은 쿼리입니다. 로그 데이터베이스에는 일주일에 약 30,000 개의 레코드가 있습니다. 이것은 분명히 중요한 요소이지만, 지금은 한 시간 동안 쿼리가 실행되지만 여전히 완료되지 않습니다 (시간 초과, PHP 페이지의 404 오류).정보가 필요하다면 팁이나 안내문을 보내 주시면 감사하겠습니다.
편집 : EXPLAIN 결과 http://i.imgur.com/h9bZBe3.png
테이블에 인덱스를 추가 했습니까? – Satya
우리는'EXPLAIN' 문을보아야합니다. – Kermit
용서해주세요, EXPLAIN 성명서는 무엇입니까? – MikeK