0

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

4

5 回答 5

2

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

正好2400?所以你那里有固定宽度的字段?节省您的时间,只需将其拆分为单独的列。以后你会感谢自己的。

如果您必须有数据,请设置一个测试数据库并尝试两种方式。然后,至少您将拥有特定于您的系统的数据。

于 2009-04-21T19:03:47.010 回答
0

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

于 2009-04-21T21:37:00.700 回答
0

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

我会按照 Joel Coehoorn 的建议去做,并将其分成几列

您还可能希望将其拆分为更多表,因为您只能存储 3 行 pr 页面,每行 2400 个字符

于 2009-04-21T19:11:27.180 回答
0

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

于 2009-04-21T19:55:15.717 回答
0

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

将 LIKE 与全文搜索进行比较

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

于 2012-07-16T21:29:24.087 回答