Mysql 为什么记录在40秒后到达

Mysql 为什么记录在40秒后到达,mysql,sql,pdo,Mysql,Sql,Pdo,ayetler表=6500行 fihristayet表=13279行 Sql查询: SELECT ayetler.ayet_tr FROM fihristayet,ayetler WHERE (fihristayet.fihristAyet_ayet=ayetler.ayet_no AND fihristayet.fihristAyet_sure_id=ayetler.sure_id) AND fihristayet.fihristAyet_fihrist_id=354

ayetler表=6500行

fihristayet表=13279行

Sql查询:

SELECT ayetler.ayet_tr 
FROM fihristayet,ayetler 
WHERE (fihristayet.fihristAyet_ayet=ayetler.ayet_no AND 
       fihristayet.fihristAyet_sure_id=ayetler.sure_id) 
  AND fihristayet.fihristAyet_fihrist_id=354

我有15行返回。为什么记录在40秒后到达首先,学会使用正确、明确、标准的连接语法。切勿在
FROM
子句中使用逗号。因此,您的查询应该如下所示:

SELECT a.ayet_tr
FROM fihristayet f JOIN
     ayetler a
     ON f.fihristAyet_ayet = a.ayet_no AND
        f.fihristAyet_sure_id = a.sure_id
WHERE f.fihristAyet_fihrist_id = 354;

然后您需要在
fihristayet(fihristayet\u fihrist\u id,fihristayet\u ayet,fihristayet\u sure\u id)
ayetler(ayet\u no,sure\u id)
上添加索引到表中。如果没有索引,所有记录都必须遍历和比较,这取决于您的磁盘速度,这可能非常慢。在where语句中的字段上使用索引,您的数据库服务器可以进行优化。您期望的时间是什么时候?这可能是查询速度慢(缺少索引)或数据库配置不好(内存、IO等)-请至少提供架构信息-查询计划和一些数据库配置信息。记录需要在不超过3分钟内到达seconds@v3nqe3秒?即使是在100毫秒内索引良好的低端机器上,也会出现这种情况。
来自fihristayet,ayetler