2

我在许多关于 SO 的问题中看到过,询问您对如何在数据库中定义一个巨大的表的意见......

我看到你已经回答了>= 1 billion of rows,等等。

做一些研究并跟随 Wegman 和 Solka,他们对一个包含超过 10^10 个条目的大表进行分类

我的问题是columns指表格中的一些,我知道1,000列是一个非常可观的数字,(假设我们有1 billion rows)......

  • 您是否知道根据列和行来衡量或说明表格何时很大的任何论文?
4

1 回答 1

1

SQL Server而言,普通表的列限制为 1,024。因此,我认为接近该限制的任意数量的列都很大。也就是说,您可以使用宽表将限制扩展到 30,000,但需要权衡:

宽表是定义了列集的表。宽表使用稀疏列将表可以拥有的列总数增加到 30,000。索引和统计的数量也分别增加到 1,000 和 30,000。宽表行的最大大小为 8,019 字节。因此,任何特定行中的大部分数据都应该为 NULL。要将表创建或更改为宽表,请将列集添加到表定义中。宽表中非稀疏列加上计算列的最大数量仍为 1,024。

通过使用宽表,您可以在应用程序中创建灵活的模式。您可以随时添加或删除列。请记住,使用宽表具有独特的性能考虑,例如增加的运行时和编译时内存要求。

根据这个线程,PostgreSQL 的限制是每个表 1,600 列。

根据这些数字,我建议任何数量接近 1,000 的列都是巨大的

于 2011-07-22T01:54:15.263 回答