我有一个大约 400 个表的数据库。每列有 5 列,行数为 1M-200M。其中一列是 DATE 值并且是一个索引。(还有一个不同的唯一键)。
当通过执行“select * from table where <date field> = ?”遍历这些表时 我发现响应时间与日期按行排列的位置成正比。IE 如果最早的日期是“2001-01-01”,最近的日期是“2010-12-01”,每个日期的行数大致相等,2010 年的选择比 2001 年慢得多。
数据按日期递增的顺序写入表中(较低的 PK 值 = 较早的日期)。
在 select 上执行“desc”表明它正在使用适当的索引并获取适当数量的值。
这是预期的行为吗?