我有一个表,其中有一列record_datetime
曾经是VARCHAR
. 我尝试将其更改为 DateTime,因为它应该是,但查询花费了更多时间 [几乎 10 倍以上]。为什么会慢下来??
该表有接近 1 亿行并且record_datetime
是一个索引。我尝试运行的测试查询是
SELECT *
FROM table1
WHERE `record_datetime` >= '2012-06-12 00:00:00'
AND `Source` = 6
ORDER BY `redord_datetime`
Source
是 的一部分PRIMARY KEY
,它是 user_id、record_datetime 和 Source 的组合。并且record_datetime
是唯一的索引。
这是解释说的:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t0 ALL Date NULL NULL NULL 77489783 Using where
谢谢