美文网首页
Varchar(max)的性能陷阱

Varchar(max)的性能陷阱

作者: 灭蒙鸟 | 来源:发表于2020-01-22 15:05 被阅读0次

    设计数据库的时候,有时候字段长度没有把握,很喜欢使用varchar(max)(nvarchar(max))。一直有点担心会影响性能,但是没有啥证据,毕竟用起来方便,所以一直使用。
    最近稍微研究了一下,发现在SQL Server中,varchar(max)有很大的潜在问题,会造成内存用量大增。
    在SQLServer中,一行数据最多只能保存8K数据,varchar不用max的话,最多只能用4000左右。这些数据都是存在一起的,并且会自动读入内存。而max的时候,这个数据是另外单独存储的。
    在varchar(max)中即使保存1个字节的数据,SQL Server把它读入内存的时候还是会分配大约200KB内存,这个会消耗大量的内存。
    综上,能不用Varchar(max)还是不用的好,当然,varchar(max)比Text还是要好一点。

    相关文章

      网友评论

          本文标题:Varchar(max)的性能陷阱

          本文链接:https://www.haomeiwen.com/subject/spiuzctx.html