【发布时间】:2020-02-08 22:15:01
【问题描述】:
我有一个按日期分区的表。我注意到当我使用分区名称查询表时,它比使用 where 子句查询要快。
例如:
select max(db_load_timestamp) from my_table partition(p20191008);(9 秒后执行)
比
更快地给出结果select max(db_load_timestamp) from my_table where date='2019-10-08';(50秒后执行)
知道为什么会发生这种情况,因为两个查询都需要大约相等的时间,因为两个查询都利用了使用分区?
【问题讨论】:
-
请提供
SHOW CREATE TABLE;听起来有些不对劲。 -
特别是你有
INDEX(db_load_timestamp)吗? -
@RickJames,不,db_load_timestamp 上没有索引。
标签: mysql partition database-partitioning