SQL Server 2008 R2。我在桌子上做了大约70,000行的选择。 如果我尝试查询nvarchar(max)列,其中最长的字符串是2,433个字符,则需要66秒。
select Comment from StudentAssessmentComments
通过索引列过滤到17,000行仍然需要大约17秒。
select Comment from StudentAssessmentComments where FileYear = 2016
如果我查询其他未索引的列,则立即(<1秒)。
select StaffID from StudentAssessmentComments
nvarchar(max)列执行得如此糟糕是否正常?如果没有,有没有人有任何建议?谢谢你的帮助。
答案 0 :(得分:5)
我猜你的网络连接速度比较慢。你给出的两个时间都非常接近每秒1000行。
如果一个典型的行有1,000个字符,那么这将是大约2,000字节(宽字符)和大约2兆字节/秒。这似乎是缓慢的一面,但这并非不合理。
所以,我最好的猜测是,这是你的网络&#34;连接到数据库,因此如果你需要成千上万的行和完整的评论,你就无法做到这一点。