0
mysql을 사용하는 법을 배우고 있습니다. 그래서 몇 가지 문제가 있습니다.MySQL 쿼리가 레코드 검색을 위해 최적화되었습니다!
난 세 테이블을 가지고 users movie and movie watching history(moviewh)
movie
테이블의 구조는 다음
movie_id[key] movie_title
및 users
이다
user_id[key] user_name
및 moviewh이다 :
user_id[key] movie_id[key] watching_date[key]
,174,
내 SQL 쿼리는 다음과 같습니다 그래서
EXPLAIN
SELECT m.movie_id,m.movie_name_cn FROM movie AS m
LEFT JOIN moviewh AS mwh
ON m.movie_id = mwh.movie_id
WHERE date_format(mwh.watching_date,'%Y-%m-%d') = '2010-11-01' AND mwh.user_id = 1
. 어떻게하면 테이블과 쿼리를 최적화 할 수 있습니까 ??
내가 찾은 검색 결과 여전히 루프보고 EXPLAIN! moviewh의 모든 레코드 타입은 "ALL" – qinHaiXiang
저는 Mysql에 처음 왔습니다. 나는 발견 한 것을 배우고 싶습니다! – qinHaiXiang
'moviewh'는 합성 색인을 가지고 있습니까? '(col1, col2, col3)'에 3 개의 컬럼 인덱스가있는 경우,'(col1)','(col1, col2)','(col1, col2, col3)'의 검색 기능을 인덱스화할 수 있습니다. 그래서'mwh.watching_date'에 대한 where 절을 제거하고 ... –