【发布时间】:2015-03-21 07:10:46
【问题描述】:
SELECT * FROM (`collection_series`)
JOIN `datadatexnumericy` ON
`collection_series`.`series_id` = `datadatexnumericy`.`series_id`
JOIN `saved_users_chart` ON `collection_series`.`collection_id` =
`saved_users_chart`.`chart_id`
WHERE `saved_users_chart`.`chart_id` = '265'
AND `saved_users_chart`.`id` = '6' AND `datadatexnumericy`.`x` >=
'1973-09-30' AND `datadatexnumericy`.`x` <= '2014-06-30' AND
`datadatexnumericy`.`series_id` != '43538'
AND `datadatexnumericy`.`series_id` != '43541'
GROUP BY YEAR(datadatexnumericy.x)
这是我的 SQL 查询和此查询的结果,我从 AJAX 响应中获得此查询工作正常,但我的响应速度有点慢,我认为问题出在我的 SQL 查询中。
我想要来自collection_series 和datadatexnumericy 表的所有匹配记录,并且只需要来自saved_users_chart 的匹配行是否有任何可能的方法以更有效的方式优化此查询,以便我可以更快地获得ajax 响应。
【问题讨论】:
-
分页怎么样?在您的查询中 -> LIMIT 0,10 LIMIT 11,20 等等?
-
不知道这些表中有多少行,有什么索引,以及解释计划,这可能无法回答。