在asp.net应用程序中使用数据表的好习惯是什么?
每次用户点击控件时,我都需要进行多次查询。最好直接转到sql server表或在数据表中加载数据并使用LINQ获取数据。在这种情况下,该表有10列和3000多行。
答案 0 :(得分:3)
这真是一个相当复杂的问题(这里没有很多细节)。在最高级别,您试图平衡内存中保存数据的优化与并发和内存利用率等因素。我敢打赌,如果你在caching strategies做了一点阅读,你就会开始了解如何权衡这些权衡。
答案 1 :(得分:0)
DataTable没问题,使用SqlDataAdapter比SqlDataReader慢。我喜欢将数据读入我自己的自定义结构中以便于检索。
10列* 3000行非常小,如果它是重要数据,你可以保留在内存中。如果你假设每个单元1k,那个只有30k,很小,如果你有很多流量到页面,它会更快,更快,这取决于从数据库中检索数据的查询的速度。
要记住的一件事是,您可能需要考虑不时刷新数据或管理数据更改。 ASP有一个可用于此目的的Cache对象,它允许您以各种方式设置到期时间。
如果数据经常发生变化并且来自许多不同的来源,那么管理变更的并发性可能会很复杂。当我使用缓存策略时,我尝试将其用于不受不断变化影响的非关键数据。这并不是说缓存变化很大的数据是不可能的,而是更加复杂。
答案 2 :(得分:0)
使用数据缓存,具体取决于您在分布式系统上决定的应用程序大小和复杂性:
http://www.25hoursaday.com/weblog/CommentView.aspx?guid=3109dc37-49f8-4249-baf1-56d4c6158321