我是一名报表分析师,也是SQL Server的“新手”。我有一个视图连接2个表与100列- 50是NVARCHAR(255) Null默认,所有其他的是int或float。
当使用SQL Server提取数据时,表可以达到100万行,性能非常糟糕,需要一个小时,并且会耗尽内存。在原始表中,我的大多数NVARCHAR(255)实际上被限制为10 & 50字节,所以不需要255。排除任何SQL连接问题,将这50个列的大小减少到它们的真正限制是否对性能有好处?
我在论坛上看到了关于这一点的各种数据:一些文章表明,通过减少这种情况,我可以获得一些页面大小的性能好处,因此数据是“行内”的。
相反,我读到NVARCHAR(255)只提取10或50的实际数据大小,这不会导致性能问题。
请帮帮忙?
谢谢大家!
叛逆
发布于 2016-05-28 02:47:43
根据我在StackOverFlow上的发现,我建议您在考虑未来需求的同时,将NVARCHAR调整为一个更合理的数字。
下面的链接详细介绍了这个主题。我会这样总结-- SQL的某些部分在确定所需内存时使用可能的最大大小。
https://stackoverflow.com/questions/37484855
复制相似问题