我有2列巨大的表:Id和标题。 Id是bigint,我可以自由选择Title列的类型:varchar,char,text,whatever。列标题包含随机文本字符串,如“abcdefg”,“q”,“allyourbasebelongtous”,最多255个字符。通过SQL中的子串查找字符串的最快方法?
我的任务是通过给定的子串获取字符串。子串也具有随机长度,可以是字符串的开始,中间或结尾。最明显的方式来执行它:
SELECT * FROM t LIKE '%abc%'
我不在乎INSERT,我只需要做快速选择。我能做些什么来尽可能快地执行搜索?
我使用MS SQL Server 2008 R2,全文搜索将毫无用处,据我所见。
欢迎来到数据库性能令人难以置信的美妙世界:-) – paxdiablo
为什么全文搜索无用? –
可能是子标记吗?如果你可以用空格,逗号或连字符分开单词,我有一个想法。让我知道。 – sgtz