我有一个只有6个字段的非常大的表。行数大约是2000万。我有一个聚集索引,包括一个整数字段。然而,有一个nvarchar(max)字段(不一定是唯一的,但从不为空),我经常需要搜索和问题是我不能索引它,因为SQL有索引大小的最大限制。我有什么解决方案?我对SQL不太熟悉,所以请避免使用技术术语。如何在sql server中非常大的表的非索引字段上执行高效的搜索
2
A
回答
2
听起来像是你将需要使用Full-Text Search:
在SQL Server全文搜索可以让用户和应用程序对SQL Server表中基于字符的数据 全文查询。
...
这些列可以有以下任何数据类型:
char
,varchar
,nchar
,nvarchar
,text
,ntext
,image
,xml
,或varbinary(max)
不仅将您需要一个全文索引才能将索引添加到大文本列中......但是如果您要在这个大块文本中搜索部分匹配,例如searchin g对于在大文档中间的特定单词或短语,正常索引将是无用的,因为前导通配符(即, WHERE TextField LIKE '%Specific word or phrase%'
)会阻止您使用非全文索引。
0
没有索引的搜索无法高效。
全文搜索可在char, varchar, nvarcahr
列完成。但是,如果创建全文索引,它总是会更好。
为什么它的工作原理与某些列了指数的原因 - 是为了让全文检索的扩展功能:语义,字间距,停用词等
相关问题
- 1. SQL Server 2008全文搜索 - 索引非常慢
- 2. EJB - 如何通过非索引字段进行搜索?
- 3. 的SQL Server非聚集索引在执行计划
- 4. 从非索引视图引用索引表的SQL Server SELECT
- 5. sql server中的非聚集索引
- 6. Solr的查询的非索引字段搜索
- 7. SQL Server索引 - HEAP上的非聚簇索引
- 8. 搜索中的非必填字段
- 9. Sql Server执行计划,非集群索引扫描的开销
- 10. 如何存储非常大的图空间高效,但有快速索引?
- 11. SQL关键字搜索算法:此SQL执行顺序搜索,如何执行索引搜索?
- 12. SQL Server表上的索引
- 13. 如何在Ext JS搜索字段中执行搜索
- 14. SQL Server中多位字段的索引
- 15. 搜索表字段的字符串的SQL Server中的标
- 16. 索引SQL SERVER中的大表
- 17. 复合聚集索引和非聚集索引在sql server 2005
- 18. SQL搜索非整数的数字字段
- 19. Django Haystack - 搜索非索引许多字段
- 20. SQL Server索引 - 非常大的表,where子句针对的是一个非常小的值范围 - 我需要where子句的索引吗?
- 21. SQL Server非集群索引 - 包含值
- 22. 如何在SQL Server 2000上执行非常长的动态sql语句?
- 23. 非主键列上的聚簇索引或非聚簇索引?
- 24. 在SQL Server性能上处理非常大的表格
- 25. 在非常大的SVN远程项目中搜索
- 26. 在Microsoft SQL Server 2008中执行一个非常大的SQL文件
- 27. 索引搜索与SQL Server中的索引扫描
- 28. 干草堆搜索非主要字段
- 29. 非唯一键上的sql server聚簇索引
- 30. 非唯一列上的SQL Server聚簇索引
我明白了,我会尽量让全速在我的SQL服务器上进行文本搜索,看看它是否允许我为这个列编制索引。之后我会回复你的。感谢您的快速回复。 – user1715925 2013-02-08 19:20:48