我们在表中有大约10K行.我们希望有一个表单,其中我们有一个select下拉列表,其中包含此表中给定列的不同值.我们在相关列上有一个索引.
为了提高性能,我创建了一个包含不同值的缓存表,因此我们不需要select distinct field from table
对10K行进行操作.令人惊讶的是,它似乎正在做select * from cachetable
(10行)并不比对10K行进行选择明显更快.为什么是这样?索引是否完成所有工作?通过查询缓存表,主表中的行数是多少?
对于DB,10K行什么都不是.你没有看到太大的区别,因为实际的计算时间是最小的,其中大部分时间是由其他恒定的开销消耗的.
很难预测何时开始注意到差异,但可能会有大约一百万行.
如果你已经设置了缓存并且它不是有害的,你也可以留下它.