我对此有点新意,所以我需要深入了解缓存的工作原理。
我正在做一些分析工作,所以我只对某些日期时间之间的数据感兴趣。我必须在各个列上执行count()
,max()
,avg()
(对于相同的数据范围,总共需要20多个查询)。
我想优化我的查询,以便缓存'SELECT * FROM table WHERE date BETWEEN startdate AND enddate'
表并对该数据执行后续查询。
我能做些什么并保存处理,否则会自动发生?
答案 0 :(得分:0)
假设您有足够的内存专用于MySQL来保存数据,这应该会自动发生。在startdate
和enddate
上建立索引也很重要。
另外,请记住,您可以在一个查询中拥有多个聚合函数 - 因此,如果它们都在同一个日期范围内,您可以执行少于20个查询来获取所需的数据。