我有一个大约 650 行、5 MB 数据长度、60 kB 索引长度的 MEMORY 表(所以它非常小)。它有一个 SMALLINT 主(散列)键和大约 90 个其他列(整数、varchars、日期时间,没有 blob 或文本)。(编辑:BIGINT 列上还有一个哈希键。)
我经常(大约每秒 10 次)运行这个查询(来自 PHP):
select * from userek where id={CONST_ID} and kitiltva=0 and kitiltva_meddig<"{CONST_DATETIME}" and inaktiv=0
注意:id
是主键。我需要,*
因为结果在很多不同的地方使用,基本上所有的列都在这里或那里使用。
我的问题是:查询定期变得异常缓慢。大约0.5s
平均,8s
最大。大多数时候它非常快:75%
运行速度比快3ms
,85%
比平均速度快。但15%
它比平均速度13%
慢,比1s
. 所以它的尾巴很长。
我完全不知道是什么原因造成的。有什么想法吗?