MySQL从同一个表中选择子查询

MySQL从同一个表中选择子查询,mysql,subquery,partitioning,database-partitioning,Mysql,Subquery,Partitioning,Database Partitioning,我已经按日期(带有简单索引的时间戳)表划分了约1000000行 我需要按日期范围+其他可选列条件获取行 我可以用子查询来优化速度吗 例如:首先在子查询中按日期范围选择行(按索引选择行会很快),然后从结果临时表中按其他条件选择行。无需子查询进一步限制输出以匹配条件。您可以安全地将所有约束包含在一个选择块中,并让优化器执行选择要扫描的索引的工作(如果有许多索引,并且适用),以便以有效的方式检索正确的结果 使用EXPLAIN调查查询的执行计划并进行自己的比较。请参阅MySQL手册,了解引擎将如何执行您

我已经按日期(带有简单索引的时间戳)表划分了约1000000行

我需要按日期范围+其他可选列条件获取行

我可以用子查询来优化速度吗


例如:首先在子查询中按日期范围选择行(按索引选择行会很快),然后从结果临时表中按其他条件选择行。

无需子查询进一步限制输出以匹配条件。您可以安全地将所有约束包含在一个选择块中,并让优化器执行选择要扫描的索引的工作(如果有许多索引,并且适用),以便以有效的方式检索正确的结果


使用
EXPLAIN
调查查询的执行计划并进行自己的比较。请参阅MySQL手册,了解引擎将如何执行您的语句的更多信息。有关查询优化的更多信息,请参见。

请提供
SHOW CREATE TABLE
和示例
SELECT
。模式和/或select中有许多微妙的东西需要分析。一个“错误”的例子是将时间戳放在任何索引的第一位。