SQL Server - 更好的数据类型来存储大字符串值

Ane*_*eef 0 sql sql-server varchar nvarchar query-optimization

我们有一个数据库表,有大约200,000条记录.其中包括3个ntext列,其中包含长度为4000-70000的字符串数据.但桌面上的一个选择只需要1分钟以上的时间来返回数据.甚至使用where条件和索引来为条件选择12000条记录需要40秒.

所以我们决定将这些数据类型更改为nvarchar(max),但仍然没有注意到主要区别,因为它会将数据存储在行之外,因为它太长了.有什么更好的方法可以提高我的表的性能?

Rub*_*ias 7

是什么让您认为您的问题是您的现场数据类型?在其他事情之前还有几点需要考虑:

  • 你的表有索引吗?你在用它们吗?
  • 你有足够的带宽吗?
  • 您的NIC卡是否使用最新的驱动程序?
  • 你有没有分析过你的查询执行计划?
  • 您的SQL服务器是否处于压力之下(CPU /内存/磁盘)?你的网络服务器/桌面?
  • 您的数据是否正确规范化了?