我和我的同事正处于一个耗时的项目中。我们发现了一个现有的代码,我们正在讨论有关缓存,数据库和网络流量的性能。性能高速缓存vs数据库vs网络流量
这不是一个专门从缓存与数据库加载的问题,因为答案显而易见,缓存是唯一的答案。
我说的是Sql Server 2008中的一个表值函数,它总共从2个表中返回3000行和12个非索引列。
这两个表中的一个已经在缓存中。无论如何,我们需要通过数据库来检索未缓存的表中的数据。
是否更好地迭代所有从数据库返回的数据并映射我们的对象(在这种情况下,我们不需要加载缓存数据,因为所有数据都是从数据库返回的),或者最好只返回来自缓存对象数据库的ID(以减少网络流量)并在3000次迭代期间从缓存中加载信息?
在此先感谢。