MySQL查询运行时间太长(简单LEFT JOIN)

MySQL query run time is too long (simple LEFT JOIN)

我无缘无故地遇到了以下问题。我有 2 tables:

isrc(约 23k 行):

Field           Type           Null    Default    Extra
isrc_ID         int(11)         NO      PRI     auto_increment
ISRC            varchar(25)     NO      UNI     
Track_Name      varchar(255)    YES         
Track_Time      time            YES     00:00:00    
ArtistName      varchar(255)    YES         
TitleVersion    varchar(255)    YES         
Date_update     timestamp       NO      CURRENT_TIMESTAMP   on update CURRENT_TIMESTAMP

isrc_performer(901 行):

Field               Type           Null    Default    Extra
Perf_ID             int(11)         NO      PRI     auto_increment
isrc_ID             int(11)         NO          
PerformerName       varchar(255)    YES         
PerformerCategory   varchar(255)    YES         
PerformerRole       varchar(255)    YES         
date_update         timestamp       NO      CURRENT_TIMESTAMP   on update CURRENT_TIMESTAMP

下面的简单查询 运行 太长了:

SELECT          
isrc.ISRC,  
isrc.Track_Name,    
isrc.ArtistName,
isrc.TitleVersion,
isrc.Track_Time,
`isrc_performer`.`PerformerName` ,
`isrc_performer`.`PerformerCategory` ,
`isrc_performer`.`PerformerRole` ,
`isrc`.`isrc_ID`,
`isrc_performer`.`Perf_ID`

FROM `isrc`

LEFT JOIN `isrc_performer` ON (isrc_performer.isrc_ID = isrc.isrc_ID)

ORDER BY   isrc_ID     desc LIMIT 0 , 10

运行 时间 - 5.117 秒

每个 table 的个人请求:

SELECT 
isrc.ISRC,
isrc.Track_Name,
isrc.ArtistName,
isrc.TitleVersion,
isrc.Track_Time

FROM `isrc`

ORDER BY   isrc_ID     desc LIMIT 0 , 10

运行 时间 - 0.000 秒

SELECT      
`isrc_performer`.`PerformerName` ,
`isrc_performer`.`PerformerCategory` ,
`isrc_performer`.`PerformerRole`,
`isrc_performer`.`Perf_ID`

FROM `isrc_performer`

ORDER BY   Perf_ID     desc LIMIT 0 , 10

运行 时间 - 0.000 秒

有新眼光的人能告诉我正确的方向吗?

添加索引到 isrc_performer table:

ALTER TABLE isrc_performer ADD INDEX (isrc_ID);

否则它必须执行 table 的完整扫描以在加入时找到具有匹配 isrc_ID 的行。