作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试了此查询的不同变体,但我就是无法让它使用时间戳索引。我做错了什么?
任何帮助将不胜感激:)
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 版
最佳答案
可能由以下原因引起: - 索引的选择性不够,mysql 认为全扫描会更快 - mysql 有错误的索引统计信息
您可以检查“SHOW INDEX FROM alienvault_siem.acid_event;”的输出您还可以尝试强制使用索引(但如果全扫描速度更快,则可能会很糟糕):
SELECT * FROM alienvault_siem.acid_event FORCE INDEX (`timestamp`) WHERE (timestamp BETWEEN '2012-10-09 11:20:17' AND '2012-10-10 03:20:17');
关于MySQL 不使用索引进行 BETWEEN 查询。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811822/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!