【问题标题】:How to deal with master tables in asp. Net Mvc?asp中如何处理主表。网络mvc?
【发布时间】:2019-01-09 17:51:04
【问题描述】:

我正在做一个 Asp。 NET MVC(Angular JS) 项目针对 500 个用户,我们没有使用实体框架,因为我们认为它不适合如此大量的用户和成本性能。我们正在单独创建数据访问层。我有多个大约 40 个主表,例如库存、类别、错误类型等。

我的问题是检索我们可能需要引用 10 到 15 个主表的每个事务记录。 SQL 连接会使查询变得复杂,并且肯定会命中至少 10 个主表,这会降低性能吗?

有什么办法可以避免这种情况吗?

【问题讨论】:

  • 是否要从所有主表中获取数据?
  • 您是否测试过任何这些假设 - EF 所做的只是生成在正常情况下执行良好的查询。您概述的应用程序类型表明您的 500 个(并发?)用户不会将整个数据库下载到客户端吗?
  • 我可以说平均每条记录有 10 到 15 个主表,我没有测试这些假设,只是假设 EF 是否会处理这样数量的用户。

标签: c# asp.net angularjs sql-server asp.net-mvc-5


【解决方案1】:

如果外键索引正确,SQL JOINS 不会增加太多开销。我有超过 20 个连接的查询,运行时间不到一秒钟。

如果查询变得过于复杂,您可能需要重新考虑您的数据库设计。如果这不是一个选项,那么值得考虑为正确的字段编制索引。

【讨论】:

    【解决方案2】:

    我建议使用 D-Normalization。您需要创建索引视图。他们的表现很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      相关资源
      最近更新 更多