关于使用LINQ vs SQL过滤集合,我有一个非常笼统的问题.假设您在数据库表上运行了一个相当复杂的过滤器.它正在运行,比如10,000次,过滤器每次都可能不同.性能方面,您最好将整个数据库表集合加载到内存中并使用LINQ执行过滤器,还是应该让数据库使用SQL处理过滤(因为这是构建的内容).有什么想法吗?
编辑:我应该更清楚.让我们假设我们正在谈论一个包含1000条记录和20列的表(包含int/string/date数据).目前在我的应用程序中,我每半小时运行一次查询,将所有数据导入集合(将该集合保存在应用程序缓存中),并在整个应用程序中过滤该缓存集合.我想知道这是否比进行数据库服务器(它是Oracle fwiw)的大量往返更糟糕.
更新后:
它正在运行,比如说 10,000 次
我假设一个表有 1000 条记录
假设 1k 条记录可以轻松装入内存似乎是合理的。
然后运行 10k 过滤器将在内存中便宜得多(LINQ)。
使用 SQL 意味着加载 10M 记录,大量 I/O。
| 归档时间: |
|
| 查看次数: |
2381 次 |
| 最近记录: |