Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 额外的空间会影响磁盘空间吗?_Sql Server_Storage_Varchar - Fatal编程技术网

Sql server 额外的空间会影响磁盘空间吗?

Sql server 额外的空间会影响磁盘空间吗?,sql-server,storage,varchar,Sql Server,Storage,Varchar,我在一个数据库中有147列,其中大多数是VARCHAR。这些数据是从政府机构导入的,对于空字段,它们包括字段允许的所有空格,而不是只输入空字符串或NULL。有些字段只有50个空格字符 我最近运行了一个脚本,该脚本将所有那些只使用空格的列转换为使用NULL,但表存储大小保持不变 我原以为空间会占用大量磁盘空间(我们有6000万条记录)。但没有什么不同 谁能给我解释一下原因吗 答案是重建表的聚集索引 ALTER INDEX IndexName ON YourTable REBUILD Adkser

我在一个数据库中有147列,其中大多数是VARCHAR。这些数据是从政府机构导入的,对于空字段,它们包括字段允许的所有空格,而不是只输入空字符串或NULL。有些字段只有50个空格字符

我最近运行了一个脚本,该脚本将所有那些只使用空格的列转换为使用NULL,但表存储大小保持不变

我原以为空间会占用大量磁盘空间(我们有6000万条记录)。但没有什么不同


谁能给我解释一下原因吗

答案是重建表的聚集索引

ALTER INDEX IndexName ON YourTable REBUILD
Adkserentity在其上述评论中提供的链接中对此作出了回答


之后是否“压缩”了数据库?一旦创建了条目,它们很可能会保留该空间,即使实际“使用”的空间较少。这就是user2864740建议压缩的原因。下面的Q/A似乎可以解决您的场景,如果它们是zerofill,那么它只是列上的一个标志。@joshstrike-这是SQL Server。不是MySQL。