Mysql 解释受影响行过多的扩展结果

Mysql 解释受影响行过多的扩展结果,mysql,explain,Mysql,Explain,我有一个问题如下 SELECT COUNT(*) AS count FROM shop.CarInfo A LEFT JOIN shop.RegisterInfo B ON A.CarID = B.RegisterInfoID LEFT JOIN shop.seller C ON B.RegisterInfoID = C.CarID LEFT JOIN shop.CarSeller D ON C.CarSellerID = D.PersonID LEFT JOIN s

我有一个问题如下

SELECT COUNT(*) AS count 
FROM shop.CarInfo A 
LEFT JOIN shop.RegisterInfo B 
  ON A.CarID = B.RegisterInfoID 
LEFT JOIN shop.seller C 
  ON B.RegisterInfoID = C.CarID 
LEFT JOIN shop.CarSeller D 
  ON C.CarSellerID = D.PersonID 
LEFT JOIN shop.Licences E 
  ON B.RegisterInfoID = E.CarID 
LEFT JOIN shop.CarLicences F 
  ON E.CarLicenceID = F.CarLicenceID 
LEFT JOIN shop.CarsLocation G 
  ON A.location = G.CarLocationID 
LEFT JOIN shop.AnnounceStatement H 
  ON B.RegisterInfoID = H.CarID 
LEFT JOIN shop.Announcer I 
  ON H.AnnouncerID = I.AnnouncerID 
WHERE B.title LIKE '%Mercedes%' OR D.name LIKE '%Mercedes%' OR F.Licences LIKE  '%Mercedes%' OR B.RegNo LIKE '%Mercedes%' OR I.name LIKE '%Mercedes%'
不幸的是,此查询需要大量响应!使用EXPLAIN EXTENDED,我得到了以下结果:

[由于我还无法将图片上传到StackOverflow,我已上传到tinypic]


就我所知,除了第一排,一切都好。考虑到我已经创建了合适的索引,那么为什么会有这么多行?

您正在进行左连接。查询必须保留shop.CarInfo中的所有行,以便扫描该表。这似乎并不奇怪。@Gordon Linoff:你说得对。但是使用内部联接,第一行的行数为53912行。仍然不够好: