C# SQL-加载到内存或查询数据库

C# SQL-加载到内存或查询数据库,c#,sql-server,memory,C#,Sql Server,Memory,我对你的意见,最好的想法感兴趣。。。 您认为在任何时候检索数据(即使您知道数据是静态的)或将数据存储在服务器(web)会话内存中时,最好只查询数据库 一方面,存储在内存中可以更快地处理数据,并减少SQL server负载。另一方面,它可能会在某种程度上增加应用程序代码和web服务器/系统资源的复杂性。答案取决于您的具体需求(大多数情况下也是如此)。如果您的数据库有带宽,但您的web服务器没有带宽,那么您应该使用SQL来实现。反之亦然。如果不了解任何人的情况,就无法向他们推荐任何东西。答案取决于(

我对你的意见,最好的想法感兴趣。。。 您认为在任何时候检索数据(即使您知道数据是静态的)或将数据存储在服务器(web)会话内存中时,最好只查询数据库


一方面,存储在内存中可以更快地处理数据,并减少SQL server负载。另一方面,它可能会在某种程度上增加应用程序代码和web服务器/系统资源的复杂性。

答案取决于您的具体需求(大多数情况下也是如此)。如果您的数据库有带宽,但您的web服务器没有带宽,那么您应该使用SQL来实现。反之亦然。如果不了解任何人的情况,就无法向他们推荐任何东西。

答案取决于(正如大多数人一样)你的具体需求。如果您的数据库有带宽,但您的web服务器没有带宽,那么您应该使用SQL来实现。反之亦然。在不了解任何人的情况下,无法向他们推荐任何东西。

您可以使用静态字典存储数据库中的静态数据

这样做的好处是每个字典只有一个实例,并减少了对数据库的请求数量


您可以参考以了解如何实现此功能。

您可以使用静态字典存储数据库中的静态数据

这样做的好处是每个字典只有一个实例,并减少了对数据库的请求数量


您可以参考如何实现这个。

静态数据,考虑懒惰加载,对于非静态数据,考虑上次修改日期比较。使用缓存框架不会增加很多复杂性,特别是如果您是肯定的,则永远不会使缓存失效。对于静态数据,考虑懒惰加载,对于非静态数据,考虑上次修改日期比较。使用缓存框架不会增加很多复杂性,特别是如果您是肯定的,则永远不会使缓存失效。谢谢。这是一个一般性的最佳实践问题,所以我没有具体的情况。谢谢。这是一个一般性的最佳实践问题,所以我没有具体的情况。如果数据发生变化怎么办?应用程序如何知道重新加载缓存的数据?对数据库的查询,以确定表是否已更新?我想,如果要检索大量表数据,这会很好,但如果您只担心小块数据,情况就不会那么糟了。事实上,这对于小块静态数据(例如国家名称)非常有用。如果数据确实发生了变化,该怎么办?应用程序如何知道重新加载缓存的数据?对数据库的查询,以确定表是否已更新?我想如果有很多表数据需要检索,这会很好,但如果您只担心小块数据,情况就不那么好了。事实上,这对于小块静态数据(例如国家名称)非常有用。