Pra*_*pta 1 sql sql-server sql-server-2008
面对存储超过8000个字符的挑战,但不想使用nvarChar(max),因为它会影响性能.
有没有办法在不使用nvarChar(max)的情况下在字段中存储15000个字符?是否有可能根据数据大小动态增加字段大小而不使用nvarChar?
是的,但是这会很快变得混乱,事实上,与varchar(max)选项相比,性能会更差.问题是单行允许在页面上限制8060字节.您可以超过该限制,但只要您接受在页外存储的数据和其他地方的页面.
首选项:使用Varchar(Max)并允许使用LOB存储.
替代方案:使用多个varchar(8000)字段,并拆分/连接字符串 - 数据将获得Short Large Object'ed(SLOB),varchar(8000)字段将存储在不同的页面中.这将使性能降低 - 更不用说拆分/连接性能问题了.
第二种选择 - 压缩数据,但没有保证,您仍然可以将其存储在8k限制内.
不推荐使用:文本 - 不要将其用作解决方案
简而言之 - 不要试图避免varchar(max) - 你会让你的生活变得更糟.
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |