【发布时间】:2018-10-25 13:38:11
【问题描述】:
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 秒后到达
【问题讨论】:
-
为您的表添加索引。如果没有索引,则必须遍历和比较所有记录,这取决于您的磁盘速度,这可能会很慢。通过 where 语句中的字段索引,您的数据库服务器可以优化。
-
你期待什么时间?
-
这可能是从缓慢的查询(缺少索引)到错误的数据库配置(内存、IO 等) - 请至少提供架构信息 - 查询计划和一些数据库配置信息。
-
记录需要在3秒内到达
-
@v3nqe 3 秒?即使在具有良好索引的低端机器上也应该在 100 毫秒内到达。