【发布时间】:2023-03-24 14:05:01
【问题描述】:
我有一个大约有 100 万行的表。其中一列是字符串,我们称它为 A 列。
现在我需要处理一个包含大约 1,000 个字符串的列表 L,主要是一两个单词,并且我需要找到表中 A 列包含列表 L 中的 1,000 个字符串之一的所有记录。
我能想到的唯一办法就是用L中的每个字符串做一次全表扫描,查找该字符串是否是A列每一行内容的子字符串。但这将是 O(n2),对于一百万行,这将需要很长时间。
有没有更好的方法?在 SQL 中还是在 C# 代码中?
【问题讨论】:
-
我想包含 A 列的表在数据库中,而列表 L 在您的 C# 程序中?
-
听起来你需要full text index。