gpt4 book ai didi

sql - 稀疏列大小限制解决方法

转载 作者:可可西里 更新时间:2023-11-01 10:50:24 25 4
gpt4 key购买 nike

我使用的是 SQL Server 2014。我正在创建多个表,这些表的列数总是超过 500 列,并且列数会相应地发生变化。

所以,我创建了一个稀疏列,这样我就可以确定我的列数是否超过 1024 不会有问题。现在有一个新问题:

Cannot create a row that has sparse data of size 8710 which is greater than the allowable maximum sparse data size of 8023.

我知道 SQL Server 只允许连续 8 Kb 的数据,我需要知道解决这个问题的方法是什么。如果我需要计划迁移到无 SQL (Mongodb),它将对转换我的存储过程产生多大影响。

最佳答案

普通表中的最大列数是 1024。宽(稀疏)表中的最大列数是 30,000。当您有很多列时,通常会使用稀疏列,但大多数列都是 NULL

无论如何,都有limit of 8060 bytes per row ,因此稀疏列将无济于事。

通常,表中有数千列表明数据库设计和规范化存在问题。

如果您确定需要将这千个值作为列而不是相关表中的行,那么想到的唯一解决方法是垂直分区表。

例如,您有一个包含 ID 列(主键)和 1000 个其他列的 Table1。将其拆分为 Table1Table2。每个都有相同的 ID 作为主键,每个都有 500 列。这些表将使用外键约束 1:1 链接。

关于sql - 稀疏列大小限制解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41607890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com