mysql 联表查询效率问题
SELECT COUNT(cc.Id) FROM tCardConsumeHistory cc,tCinema c,tCity t ,tCardJifen j WHERE cc.cinemaId=c.ID AND t.ID=c.CityID AND j.CardNum=cc.CardNum AND t.id IN(10) AND cc.Date BETWEEN '2013-11-29' AND '2014-01-13 23:59:59'SELECT COUNT(cc.id) FROM (SELECT cc.id FROM tCardConsumeHistory cc WHERE DATE BETWEEN '2013-11-29' AND '2014-01-10 23:59:59')cc,tCinema c,tCity t,tCardJifen j WHERE cc.cinemaId=c.ID AND t.ID=c.CityID AND j.CardNum=cc.CardNum AND t.id IN(10)DATE 上建有索引上面哪个效率更高呢
EXPLAIN 第一个结果
id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t const PRIMARY PRIMARY 4 const 1 Using index1 SIMPLE cc ALL CardNum,date \N \N \N 443926 Using where1 SIMPLE c eq_ref PRIMARY PRIMARY 4 cc.cinemaId 1 Using where1 SIMPLE j eq_ref CardNum CardNum 152 cc.CardNum 1 Using index
EXPLAIN 第二个结果
id select_type table type possible_keys key key_len ref rows Extra1 PRIMARY t const PRIMARY PRIMARY 4 const 1 Using index1 PRIMARY <derived2> ALL \N \N \N \N 24298 1 PRIMARY c eq_ref PRIMARY PRIMARY 4 cc.cinemaId 1 Using where1 PRIMARY j eq_ref CardNum CardNum 152 cc.CardNum 1 Using index2 DERIVED cc range date date 4 \N 46468 Using where
EXPLAIN结果到底怎么看,主要看哪几个关键字段???