首页 Windows 值为NULL的列是否会影响Microsoft SQL Server的性能?

值为NULL的列是否会影响Microsoft SQL Server的性能?

我有一个包含200多列的数据表,但是,在这些列的一半以上,我的大多数数据行的值都为’NULL’. 那些NULL值会降低我的SQL Server的性能,还是具有NULL值的字段与数据表上的所有操作无关? 表的性能基本上是I / O的函数. SQL Server在数据页上布置行的方式意味着NUL

我有一个包含200多列的数据表,但是,在这些列的一半以上,我的大多数数据行的值都为’NULL’.

那些NULL值会降低我的SQL Server的性能,还是具有NULL值的字段与数据表上的所有操作无关?

表的性能基本上是I / O的函数. SQL Server在数据页上布置行的方式意味着NULL值可能占用或不占用空间 – 具体取决于基础数据类型. SQL Server数据页包含每列(甚至NOT NULL列)的可为空位列表,以保留NULL信息.

可变长度字符串只使用NULL位,因此它们在每行中不占用额外空间.其他数据类型确实占用空间,即使对于NULL值(这包括固定长度的字符串,我相信).

这对性能有何影响?如果您有200个NULL整数字段,则数据页上为800字节.这会将存储在给定页面上的记录数限制为不超过10条记录.因此,如果要读取100条记录,查询必须读取(至少)10个数据页.如果表没有这些列,那么它可能只能读取一个数据页.

这对于给定查询或查询集是否重要取决于查询.但是,是NULL的列可能会对性能产生影响,尤其是在查询的I / O端.

本文来自网络,不代表云浮站长网立场。转载请注明出处: https://www.0766zz.com/html/zhonghe/fwq/windows/20200901/9343.html
上一篇
下一篇

作者: dawei

【声明】:云浮站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部