【发布时间】:2018-06-19 07:05:11
【问题描述】:
在我的 asp.net mvc 应用程序中, 我有一个名为“首选项”的表,该表将始终只有一行用于应用程序首选项(同样,该表不能包含多于一行)。
当我想查询任何其他表时,我总是使用 Preference 表进行左连接,例如,如果我想返回所有客户。我必须与 Preference 表进行左连接以检查是否需要返回客户全名,或者检查是否需要返回活跃客户等。
如您所知,左连接有性能成本,尤其是当我需要在每个查询中使用它时;那么,有没有其他方法可以让我一次性接受这些偏好? (例如,当应用程序启动时)并且不要使用左连接;虽然我需要能够在每次在数据库中更新这些首选项时更新它们(从应用程序的控制面板)。
我需要一个在性能方面没有任何成本的解决方案,所以我不太推荐会话解决方案。
你有什么建议?
【问题讨论】:
-
不用担心左连接的性能成本。
-
为什么?我知道它只在性能表中加入一行,但我主要对大多数表(客户、订单、发票......)进行连接
-
所以我认为最好避免左加入,但是会话可以提供更好的性能。
标签: c# sql asp.net asp.net-mvc asp.net-core