And*_*ehi 10 sql sql-server sql-server-2005 sql-server-2008
我知道nvarchar上的连接速度较慢,因为索引比nvarchar更大,每个字符使用2个字节,但int总是4个字节.连接性能差异是否显着?是否有任何强有力的理由避免加入nvarchar?我找不到任何有关该主题的MSDN文章.
gbn*_*gbn 12
至少8倍CPU.这是比较nvarchar而不是varchar的可测量增加:unicode排序和比较规则比直接varchar更复杂.
因此,假设varchar和int相等(它们不是),与int相比,nvarchar将具有开销
然后,字节为字节('1234'对比1234),您要比较10个字节对4个字节.这也意味着更宽的键,每页索引和数据输入更少=更多IO.
最后,如果您的nvarchar超过450个字符,则无法对其进行索引,因为索引键的最大宽度为900字节.