gpt4 book ai didi

sql-server - SQL Server - 空列的性能/大小缺点

转载 作者:行者123 更新时间:2023-12-02 10:00:28 27 4
gpt4 key购买 nike

我正在研究一种表设计,该表可能在大约 10 个字段中涉及许多 NULL 值,也许 75% 的时间这些字段都未被使用。

我刚刚生成了一些假数据(一百万条记录),并且无法感觉到对 SQL Server 2005 的任何影响。大小差异以 KB 为单位。性能 - 将索引添加到 3 个不可为 null 的列后,没有可测量的差异。

我知道 SQL Server 2008 具有稀疏列功能(我假设将在下一个 SharePoint 的 UserData 表中使用该功能)。我希望我的代码能够在 2005 年运行。但当前 SharePoint UserData 表的设计中存在大量 NULL 值。所以如果它对微软来说足够好......

关于 SQL Server 表中许多 NULL 值的缺点或痛点,有什么好的文章、链接、白皮书吗?有人对扩展到 1000 万或 1 亿条记录时会发生什么有任何经验吗?

最佳答案

我从来没有遇到过多个空列的性能问题,即使是在数百个演出大小的数据库上也是如此。我想如果您在这些字段上运行索引然后在查询中使用 null,您最终可能会遇到问题,但我个人并不认为这是一个问题。话又说回来,我还没有创建除 3 之外的每个字段都可为空的数据库表。

另一方面,当大部分数据为空时,我发现了架构问题。一般原因是 a) 数据库规范化不当,或者 b) 试图允许用户将数据暂存在最终表中,而不是在提交到数据库之前创建单独的表来“构建”数据。

由您决定数据库的最佳架构。

关于sql-server - SQL Server - 空列的性能/大小缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632332/

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