【问题标题】:Linq to SQL, SQL Server 2008 and optimizationLinq to SQL、SQL Server 2008 和优化
【发布时间】:2010-11-26 01:33:16
【问题描述】:

我正在设计一个包含大约 30 个表的大型 Web 应用程序,其中超过 2/3 的表相互关联。我正在使用 ASP.NET MVC、Linq to SQL 和 SQL Server 2008。这些表旨在保存数千条记录。

作为一名程序员,我应该关注什么来帮助优化数据库以及与 Linq 之间的查询?

你们有什么推荐的书,一般会涵盖我在构建这个应用程序时需要关注的主题,或者一些涉及基本主题的文章?

我了解 SQL Profiler(有免费版本吗?)并且简要阅读了索引,还有更多内容吗?

此外,在计算或查询多行、搜索行中的“文本”字段时,是否有设计大型数据库驱动应用程序的“最佳实践”?

感谢帮助

【问题讨论】:

    标签: c# sql-server asp.net-mvc linq optimization


    【解决方案1】:

    LINQ 几乎没有什么特别之处可以告诉您。通用架构和数据库优化适用。

    看看这个很好的问题:What are your most common sql optimizations?

    【讨论】:

      【解决方案2】:

      正如 IT 界的一句老话:不过,不要过早地进行优化!首先编写您的代码并确保它可靠且有效 - 只有当您看到并确定瓶颈时,然后进入,测量,调整,再次测量,优化,再次测量。

      但是如果你确实需要优化,或者一开始就想避免瓶颈,我完全同意“新城”——数据库是基础,如果你搞砸了,没有任何程度的“优化”你的LINQ 或在此之上的应用程序真的很有帮助。

      打好基础:

      • 确保使用适当的类型
      • 不要让列过大
      • 获得正确的索引
        • 每个表的主键
        • 在任何情况下都不要将 GUID 列作为集群键
        • 有意义的外键关系
        • 在外键列上放置索引)
      • 避免任何数据重复

      等等——实体数据库设计的基础知识。

      只有这样,您才能开始考虑优化您的应用程序和数据访问代码。

      马克

      【讨论】:

      • 我想我会在开始专注于优化之前让我的应用程序完全正常运行。
      【解决方案3】:

      我了解 SQL Profiler(是否有 免费版?)

      Profiler for Microsoft SQL Server 2005/2008 Express Edition 是 Profiler 的开源替代品

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        • 2011-05-29
        • 2011-05-06
        • 1970-01-01
        相关资源
        最近更新 更多