我需要放弃查询结果以响应以下网址:
http://foo.com/search?from=20&perpage=10
从绩效角度来看,最佳做法是什么?
每次使用WHERE行>运行查询N和行< = K
运行一次查询并将所有结果保留一段时间
还能做些什么?
答案 0 :(得分:2)
如果您的查询会产生非常少量的数据,您可以考虑来缓存结果。但想想这个:
然后我的回答是每次都运行查询。您的数据库将比您更好地处理它,它将与您的数据一起扩展(否则,当您的系统有1000000条记录时,500条记录可能会被破坏)。
总结一下:数据库引擎比我们更有效地缓存数据并且它们可以更好地扩展,(通常)一个好的索引就是他们需要表现良好的所有。