gpt4 book ai didi

sql-server - 稀疏 Varchar(最大值)

转载 作者:行者123 更新时间:2023-12-01 06:20:10 25 4
gpt4 key购买 nike

我有一个 Microsoft SQL Server 2008 表,其中有一个很少使用的 Varchar(max) 字段。将该字段移动到另一个表并指向该表是否更有意义?

或者如果 Varchar(max) 字段包含 null,它不会占用大量空间吗?

最佳答案

没有。 SQL Server 已经为 BLOB 类型使用了单独的分配单元,请参阅 Table and Index Organization . NULL 值在一行中只占用一位,见 Anatomy of a Record .

通过创建单独的表会浪费更多空间,并且检查列是否为 NULL 或具有值会显着增加成本。此外,列值可以针对较小的值进行优化和拉入行内,如果它们适合,提供显着更快的访问。总体而言,不要尝试对引擎已经在挑战极限的东西进行微优化,以使其尽可能高效....

如果 是稀疏的(意味着它有很多(成百上千)列,其中每行很多都是 NULL),那么您可以使用 sparse columns .

关于sql-server - 稀疏 Varchar(最大值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14202225/

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