我为一个项目使用Doctrine 2,它会有很高的流量,并且我关心性能。我应该使用SQL限制还是不是性能原因?
有时我需要为“分页”目的加载很多实体。
示例:加载30,000篇发表的文章,我需要对这些结果进行分页。
我想知道从数据库加载如此多的行有多差,我可以使用LIMIT OFFSET sql语句,但是使用Doctrine 2 &分页,实现Paginator适配器的开销会更大(复杂存储库等),我可以使用一个简单的Iterator适配器。
我想用一个好的缓存系统,它不应该是一个问题,但我不太确定。
顺便说一下,你有关于缓存的任何提示?
+1因为您应该总是试图从数据库中获取所需的信息。如果显示10条记录,则应提取10条记录并使用count()来确定总计。或者如果第11条记录存在,则获取11条只记录下一个按钮的记录。那么你不需要数数。 – Arjan 2011-04-30 22:26:17