SQL Server和MySQL中可用表的最大数量

时间:2009-03-04 14:56:13

标签: mysql sql-server performance

我知道在SQL Server中,数据库中“对象”的最大数量略多于20亿。对象包含表,视图,存储过程,索引等。我并不担心超过20亿个物体。但是,我想知道的是,SQL Server是否会因拥有大量表而遭受性能损失。您添加的每个表是否都有性能损失,或者基本上没有差异(假设数据量恒定)。有没有人有使用数千个表的数据库的经验?我也想知道关于MySQL的问题。

5 个答案:

答案 0 :(得分:8)

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

由于维护窗口减少(较小的索引重建),具有只读文件组的能力等等,可能会在实际上获得增益。

性能由查询和索引(最基本级别)确定:不是对象数

答案 1 :(得分:4)

就最大表数而言,我拥有一个拥有200万个表的数据库。没有任何表现受到打击。我的桌子每个小约15MB。

答案 2 :(得分:1)

我怀疑SQL Server在使用数千个表时会遇到性能问题,但我肯定会这样做。

我已经在SQL Server中使用了数百个表,但没有任何问题。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

IMO如果您根据功能划分表格,那么您无法使开发人员的生活变得轻松,但也会在您的应用程序中获得性能提升,因为您已经从您想要获取所需数据的地方获得了固定表格。

假设你需要存储销售,购买,收据和付款细节。所有这些都具有相同的表结构,而不是将它们存储在单个表中,您可以将它们全部分别存储在单独的表中。通过这些,您可以在单表中获得销售的所有详细信息,也可以在单表中购买。因此,它可以帮助改善应用程序的数据库层的响应时间,这是所有Web层中最慢的组件之一... !!!当然,我们通过SQL quires来改进数据库的性能,但是这样的结构也可以间接地帮助你提高数据库的性能。