【发布时间】:2011-05-17 08:39:20
【问题描述】:
我有两个表,我需要从两个表中选择一些数据
SELECT f.*
FROM file_data f
JOIN subscriptions s ON f.uid = s.elementid
WHERE s.uid = 119762 AND f.private=0
ORDER BY f.date DESC
现在,即使是一小部分数据,查询也需要一秒钟的时间。 这是由于 ORDER BY f.date 导致的“订阅”上使用了“文件排序”和“临时”(删除该条件会导致时间下降到 0.01 秒以下)
谁能告诉我如何加快查询速度?
这是 EXPLAIN 的结果
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE s ref uid_elementid uid_elementid 4 const 171 Using index; Using temporary; Using filesort
1 SIMPLE f ref uid_uname uid_uname 5 s.elementid 22 Using where
【问题讨论】:
标签: mysql performance join sql-order-by