【发布时间】:2014-03-19 04:59:46
【问题描述】:
我有以下疑问:
SELECT SUM(sureness) FROM tweet WHERE ID in
(select DataitemID from entity_dataitem_relation where EpochID IN
(SELECT ID FROM epoch WHERE StartDateTime>='2013-11-01' AND EndDateTime<='2013-11-31')AND
DataitemType=3) ;
我在 entity_dataitem_relation 表中索引了 DataitemID 以提高速度。我什至索引了 EpochID 以帮助提高速度,但这个查询仍然很慢,需要 2 分钟才能执行(值得注意的是,我在中间输入了一个项目,所以我必须继续其他人所做的,所以我不在设计方面有很大的灵活性)
注意:以下部分非常快:
SELECT DataitemID from entity_dataitem_relation where EpochID IN
(SELECT ID FROM epoch WHERE StartDateTime>='2013-11-01' AND EndDateTime<='2013-11-31');
另一件事:即使我用作为表主键的 ID 替换确定性,它仍然需要很多时间 我应该怎么办 ?有什么可以提高速度的吗?
【问题讨论】:
-
三个查询哪个慢?尝试解释,或单独运行每一个。为每个表发布 CREATE 也将有助于分析。
-
感谢您快速回答这部分:SELECT DataitemID from entity_dataitem_relation where EpochID IN (SELECT ID FROM epoch WHERE StartDateTime>='2013-11-01' AND EndDateTime
标签: mysql