我在许多关于 SO 的问题中看到过,询问您对如何在数据库中定义一个巨大的表的意见......
我看到你已经回答了>= 1 billion of rows
,等等。
做一些研究并跟随 Wegman 和 Solka,他们对一个包含超过 10^10 个条目的大表进行分类
我的问题是columns
指表格中的一些,我知道1,000
列是一个非常可观的数字,(假设我们有1 billion rows
)......
- 您是否知道根据列和行来衡量或说明表格何时很大的任何论文?
我在许多关于 SO 的问题中看到过,询问您对如何在数据库中定义一个巨大的表的意见......
我看到你已经回答了>= 1 billion of rows
,等等。
做一些研究并跟随 Wegman 和 Solka,他们对一个包含超过 10^10 个条目的大表进行分类
我的问题是columns
指表格中的一些,我知道1,000
列是一个非常可观的数字,(假设我们有1 billion rows
)......
就SQL Server而言,普通表的列限制为 1,024。因此,我认为接近该限制的任意数量的列都很大。也就是说,您可以使用宽表将限制扩展到 30,000,但需要权衡:
宽表是定义了列集的表。宽表使用稀疏列将表可以拥有的列总数增加到 30,000。索引和统计的数量也分别增加到 1,000 和 30,000。宽表行的最大大小为 8,019 字节。因此,任何特定行中的大部分数据都应该为 NULL。要将表创建或更改为宽表,请将列集添加到表定义中。宽表中非稀疏列加上计算列的最大数量仍为 1,024。
通过使用宽表,您可以在应用程序中创建灵活的模式。您可以随时添加或删除列。请记住,使用宽表具有独特的性能考虑,例如增加的运行时和编译时内存要求。
根据这个线程,PostgreSQL 的限制是每个表 1,600 列。
根据这些数字,我建议任何数量接近 1,000 的列都是巨大的。