【发布时间】:2009-10-06 12:53:07
【问题描述】:
我有这个查询,对于给定的情况,它会在 1 或 2 秒内执行:
Select Count(*) as qtty
From event e
Join org o On o.orgID = e.orgID
Join venue v On v.venueID = e.venueID
Where Match( e.name, e.description ) Against ( $keywords )
And e.site_id = $site_id
And e.display <> 0</code>
它计算行数以构建分页。当我引入按事件类型过滤(类型与事件多对多相关)时,查询开始花费不少于 45 秒:
And Exists (
Select ete.id
From event_type_to_event ete
Where ete.event_id = e.eventID
And ete.event_type_id = $category )</code>
我也尝试过使用 event_type_to_event 加入,但速度更慢。
有什么建议吗?
注意:已解决。使用索引,查询执行时间减少到不到一秒。
【问题讨论】:
-
请粘贴EXPLAIN查询的结果
标签: sql mysql optimization profiling