【问题标题】:Maximum number of workable tables in SQL Server And MySQLSQL Server 和 MySQL 中最大可用表数
【发布时间】:2010-10-11 06:55:00
【问题描述】:

我知道在 SQL Server 中,数据库中“对象”的最大数量略高于 20 亿。对象包含表、视图、存储过程、索引等。我一点也不担心超过 20 亿个物体。但是,我想知道的是,SQL Server 是否会因拥有大量表而受到性能影响。您添加的每个表是否都会影响性能,或者基本上没有区别(假设数据量恒定)。有没有人有使用具有数千个表的数据库的经验?我对 MySQL 也有同样的疑惑。

【问题讨论】:

    标签: mysql sql-server performance


    【解决方案1】:

    没有区别,假设数据量不变。

    由于诸如减少维护窗口(较小的索引重建)、拥有只读文件组等的能力等因素,实际上可能会有所收获。

    性能取决于查询和索引(在最基本的层面上):而不是对象的数量

    【讨论】:

      【解决方案2】:

      就最大表数而言,我有一个包含 200 万个表的数据库。根本没有性能受到影响。我的表每个大约 15MB。

      【讨论】:

        【解决方案3】:

        我怀疑 SQL Server 在处理数千个表时会出现性能问题,但我肯定会。

        不过,我在 SQL Server 中处理过包含数百个表的数据库,没有任何问题。

        【讨论】:

        • 必须把你的第一句话读几遍。我知道您来自哪里,但这些基本上是很多表都具有相同的结构,而不是单独管理的东西。
        • 如果表格是以编程方式生成的,那么您作为开发人员也可以以编程方式处理它们。没有表现问题(至少在职业上没有)
        【解决方案4】:

        如果使用包含许多列的表而不是拆分相关表(即使是具有一对一关系的表),SQl Server 可能会遭受更大的性能损失。另外,当您要输入的数据超过可以为列存储的字节数时,宽表可能会出现问题。例如,您可以创建一个可能存储 10000 个字节的表,但您仍然只能存储 8060 个字节。

        【讨论】:

        • 这是有用的信息,但根本不能回答所提出的问题。
        • 但是你问太多表是否会产生性能问题的原因是你正在考虑合并它们而不是创建这么多实际上会产生更大的性能问题的人应该请注意这一点。
        【解决方案5】:

        根据我的经验,我认为桌子的数量不会影响性能。但是,您应该能够证明为什么您在数据库中有这么多表是合理的。那是因为数据库端有这么多表也会影响服务器端开发人员的工作。

        IMO 如果您根据功能划分表,那么您将无法让开发人员的生活变得轻松,但也可以在您的应用程序中获得性能提升,因为您有固定的表,您可以从其中获取所需的数据。

        说您需要存储销售、购买、收据和付款详细信息。它们都具有相同的表结构,然后您可以将它们单独存储在单独的表中,而不是将它们存储在单个表中。有了这些,您可以在单表中获取销售的所有详细信息,在其单表中进行购买等等。因此它可以帮助改善应用程序数据库层的响应时间,这是所有 Web 层中最慢的组件之一......!!!当然,我们通过 SQL 查询来提高数据库的性能,但是这样的结构化也可以间接帮助您提高数据库的性能。

        【讨论】:

          猜你喜欢
          • 2010-10-20
          • 2016-03-27
          • 1970-01-01
          • 1970-01-01
          • 2012-06-09
          • 1970-01-01
          • 2011-05-14
          • 2017-02-13
          • 1970-01-01
          相关资源
          最近更新 更多