【发布时间】:2010-09-06 02:05:15
【问题描述】:
我不知道何时将 tableadapter 或工具箱中的查询添加到数据集。有什么区别吗?
我也不知道在哪里创建适配器的实例。
- 我应该在
Page_Load中进行吗? - 我应该在我打算使用它的时候才这样做吗?
- 我是否在创建新实例时打开了新连接?
这似乎不是很重要,但每次我创建一个查询时,我的大脑中都会有一个小声音问我这些问题。
【问题讨论】:
标签: asp.net database performance
我不知道何时将 tableadapter 或工具箱中的查询添加到数据集。有什么区别吗?
我也不知道在哪里创建适配器的实例。
Page_Load 中进行吗? 这似乎不是很重要,但每次我创建一个查询时,我的大脑中都会有一个小声音问我这些问题。
【问题讨论】:
标签: asp.net database performance
我应该在我要使用它的时候才这样做吗?
我建议您仅在要使用数据时才检索数据。如果您不需要它,没有理由通过在 Page_Load 中检索它来浪费资源。如果您将在整个页面加载过程中多次需要它,请考虑将查询结果保存到私有变量或集合中,以便在整个页面加载过程中多次重复使用相同的数据。
我在创建新实例时是否打开了新连接?
Asp.net 处理connection pooling,并以有效的方式打开和关闭连接。您不必担心这一点。
从性能角度考虑的另一件事是避免使用数据集和 TableAdapter。在许多情况下,他们将extra overhead 添加到使用 Linq to Sql、存储过程或 DataReaders 时不存在的数据检索中。
【讨论】: