Sql Server字符串比较

时间:2009-04-21 18:59:52

标签: sql-server string algorithm comparison sql-like

是否有关于SQL Server如何比较字符串并处理其中的搜索(如声明)的信息?我试图找出是否有办法确定将信息存储为大字符串的效率,并使用sql server对行进行一系列比较以确定哪个匹配。我知道这可能会很慢(每个信息字符串长度为2400个字符),但是我需要一些东西来说明字符串的比较方式,所以我可以显示它的效率(或低效率)。

5 个答案:

答案 0 :(得分:2)

  

每个信息字符串长度为2400个字符

恰好是2400?那么你有固定宽度的字段吗?节省您的时间,然后将其拆分为单独的列。你以后会感谢自己。

如果您必须拥有数据,请设置测试数据库并尝试两种方式。那么至少你会拥有特定于你的系统的数据。

答案 1 :(得分:0)

在它们中搜索会很慢,因为索引不能超过900字节长/宽,因此无法创建索引

我会做Joel Coehoorn所建议的并将其拆分成列

你也可能想把它分成更多的表,因为你只能存储3行页面,每行有2400个字符

答案 2 :(得分:0)

您可以将全文搜索索引应用于sql server,这些索引通常用于搜索引擎等内容。全文索引通常允许搜索的布尔逻辑运算符。

答案 3 :(得分:0)

只是已经提到过的其他信息。如果需要使用like过滤大字符串,则也不使用索引(除了通配符%仅在搜索字符串的末尾)。因此,最好避免喜欢并使你需要过滤的部分在自己的领域中可用。

答案 4 :(得分:0)

在关于全文搜索的MSDN文章中,关于LIKE谓词如何使用字符模式,调用了以下内容。

  

将LIKE与全文搜索进行比较

     

与全文搜索相比,LIKE Transact-SQL谓词有效   仅限于字符模式。此外,您不能使用LIKE谓词   查询格式化二进制数据此外,LIKE查询大   非结构化文本数据的数量远远低于等效数据   针对相同数据的全文查询。对数百万人的LIKE查询   文本数据行可能需要几分钟才能返回;而全文   对于相同的数据,查询只需几秒或更短时间,具体取决于   关于返回的行数。