在我的Web应用程序中,我有一个动态查询,它将大量数据返回到数据表,并且通常使用不同的参数调用此查询。所以数据库已经用尽了。
我想获取没有参数的所有记录到对象,并在此对象上执行查询(可能与linq)。所以数据库不会被用尽。
可以使用哪些对象代替数据表?
答案 0 :(得分:11)
这是我的一个烦恼 - 从数据库中返回所有数据的人。
除非您正在进行报告,否则完全没有必要。
如果您正在进行报告,则需要增加硬件功能,以便数据库可以应对。这还可能包括调整数据库,重新排列表,重新索引,定期重建索引,更新统计信息,归档旧数据等。
如果您没有进行报告,则可以开始限制一次可以查询的数据量。用户不需要同时查看大量数据。他们需要以可管理和连贯的方式查看离散数量的数据。
我喜欢观察的另一个经验法则是:让你的数据库服务器完成工作,它是为了操纵大量数据,它是擅长的,它应该有能力做到这一点。将大量数据拉回客户端,然后尝试在客户端上操作该数据是一件愚蠢的事情。如果您的客户端计算机比数据库服务器更强大,那么您就会遇到问题。
答案 1 :(得分:0)
永远不要执行此操作(缓存除外)!!!
您正在尝试实施数据库机制,例如
花时间进行数据库优化(最佳方案,索引,查询,分区)。