我需要在数据库中保存字符串。每个字符串的大小从1到N不等。我认为这个限制大约是10000,也许更多。 nvarchar(MAX)是解决这个问题的最好方法吗?SQL存储字符串
Q
SQL存储字符串
1
A
回答
4
在SQL Server 2005
及更高版本中,NVARCHAR(MAX)
是存储长度超过4000
个字符的字符串的最佳方式。
这是推荐用于SQL Server 2005
及更高版本的唯一方法,但它仍支持TEXT
列以实现向后兼容性。
请注意,您无法在NVARCHAR(MAX)
列上创建索引。
要使用索引,请创建一个计算列并将其用于索引搜索。它可以作为一种有效的粗过滤器:
CREATE TABLE foo (id INT NOT NULL, mytext NVARCHAR(MAX) NOT NULL, mytext_index AS CAST(mytext AS NVARCHAR(450))
CREATE INDEX ix_foo_mytext (mytext_index)
SELECT *
FROM mytext
WHERE mytext_index LIKE 'L%'
1
nvarchar的是正确的,如果它们是的unicode(或其他非-7-或-8-比特串)。如果它们是例如ASCII latin-1文本(在很多情况下足够了),varchar(MAX)将节省空间。
相关问题
- 1. 存储字符串
- 2. 存储字符串
- 3. 存储字符串
- 4. 在字符串内存储字符串?
- 5. 在字符串中存储字符串
- 6. 存储XML为字符串
- 7. Jasmin ByteCode存储字符串
- 8. 存储在字符串
- 9. 存储连接字符串
- 10. 字符串常量存储
- 11. 存储字符串中有
- 12. LINQ - 存储为字符串
- 13. 存储字符串的my.settings
- 14. 存储XML字符串
- 15. 存储反转字符串
- 16. 基于存储在SQL Server XML数据中的字符串构建字符串
- 17. 存储SQL字符串保留换行符
- 18. 如何在SQL SERVER中存储AD八位字节字符串?
- 19. 使用Strtok存储一串字符串
- 20. 用SQL存储过程中的字符串中的另一个子字符串替换特定子字符串
- 21. 执行存储为字符串的SQL算法(存储过程?c#?)
- 22. 存储静态JSON字符串成字符串
- 23. 将字符串的地址存储在字符串数组中
- 24. 如何在字符串标签中存储字符串
- 25. 分割字符串并存储在一个新的字符串
- 26. 在kdb中存储一个字符串作为字符串
- 27. 在二维字符串数组中存储很多字符串
- 28. 比较字符串存储在Android的字符串资源?
- 29. 将部分字符串存储在字符串数组中
- 30. 存储在字符串池中唯一字符串lliterals?
超过4000,因为我们正在谈论nvarchar – 2009-04-27 15:31:41