我已经尝试过这个查询的不同变体,但我无法让它使用时间戳索引。我究竟做错了什么?
任何帮助将不胜感激 :)
MariaDB [alienvault]> explain extended SELECT * FROM alienvault_siem.acid_event WHERE (timestamp BETWEEN '2012-10-09 11:20:17' AND '2012-10-10 03:20:17');
+------+-------------+------------+------+---------------+------+---------+------+---------+----------+-------------+
| id   | select_type | table      | type | possible_keys | key  | key_len | ref  | rows    | filtered | Extra       |
+------+-------------+------------+------+---------------+------+---------+------+---------+----------+-------------+
|    1 | SIMPLE      | acid_event | ALL  | timestamp     | NULL | NULL    | NULL | 4481579 |    50.00 | Using where |
+------+-------------+------------+------+---------------+------+---------+------+---------+----------+-------------+
1 row in set, 1 warning (0.01 sec)
表结构:
CREATE TABLE IF NOT EXISTS `acid_event` (
  (...)
  `timestamp` datetime NOT NULL,
  (...)
  PRIMARY KEY (`id`),
  (...)
  KEY `timestamp` (`timestamp`),
  (...)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
软件:Percona 服务器
软件版本:5.5.27-28.1 - Percona Server (GPL),28.1 版