代码之家  ›  专栏  ›  技术社区  ›  Bobby Cannon

使用MDF SQL Server文件而不是“数据库”会影响性能吗?

  •  0
  • Bobby Cannon  · 技术社区  · 15 年前

    当前,我的网站是使用SQL Server数据库用ASP.NET WebForms编写的。我计划构建一个ASP.NET MVC应用程序,不是因为它更好,而是因为我想学习该技术。我的问题更具体到数据库。我可以创建数据库并通过Web界面的导入功能将我的SQL表导入到SQL数据库,或者使用“本地”数据库MDF文件。我喜欢使用MDF文件的想法,因为它更易于备份和处理。我的网站没有太多的流量…事实上,我可能是唯一的用户。:)现在有一个问题。

    使用本地SQL Server MDF文件而不是我的数据库,会对性能造成多大影响?

    5 回复  |  直到 14 年前
        1
  •  3
  •   Wyatt Barnett    15 年前

    实际上没有。或者,只不过是让数据库与网站运行在同一个框中。它仍然是一个SQL Server Express数据库。从生产角度来看,您可能希望DB运行在专用于服务数据库的单独框中。但是代码方面,唯一的区别是连接字符串。

        2
  •  2
  •   Tom van Enckevort    15 年前

    SQL Server为其服务器上的每个数据库使用一个MDF文件。MDF文件和“数据库”之间没有区别,因为“数据库”无论如何都存储在MDF文件中。

        3
  •  1
  •   Mitchel Sellers    15 年前

    从性能上看,你不应该看到区别。

    最大的问题是生产部署和管理。与动态附加的.mdf相比,管理标准数据库要容易得多。

        4
  •  0
  •   GalacticCowboy    15 年前

    另外,不要忘记您的Web主机也必须支持这一点。由于SQL Server Express是唯一支持“用户实例”数据库的SKU,因此主机必须安装Express才能按原样使用。但是,您可以用这种方式进行开发,然后在部署到Web主机时只部署数据库并更改连接字符串。

        5
  •  0
  •   Astra    15 年前

    除了SQL Server Express版本的正常资源限制之外,唯一的区别是启动成本是可忽略的,而SQL Express引擎连接到MDF文件时,会执行其例行检查以检查文件完整性和事务日志内容。

    这应该只在应用程序启动时发生,而不是每个请求。