我有两个列的巨大表:Id和Title.我是bigint,我可以自由选择Title列的类型:varchar,char,text等等.列标题包含随机文本字符串,如"abcdefg","q","allyourbasebelongtous",最多255个字符.
我的任务是通过给定子字符串获取字符串.子串也具有随机长度,可以是字符串的开始,中间或结尾.最明显的执行方式:
SELECT * FROM t LIKE '%abc%'
Run Code Online (Sandbox Code Playgroud)
我不关心INSERT,我只需要做快速选择.我该怎么做才能尽快进行搜索?
我使用MS SQL Server 2008 R2,全文搜索将毫无用处,据我所知.
sql sql-server full-text-search query-optimization sql-server-2008-r2
我的老板坚持以下规则:传递给构造函数的所有变量都应该通过只读属性提供.
我没有看到为什么这应该是真实的真正原因,因为阶级应该这样做,而不是为他人提供他们的结构.我知道有时它很有用,但这不是一般规则.
我的想法是否正确?我错过了什么吗?任何人都可以添加更多的论点或反对吗?
规则示例:
public class MyClass
{
public MyClass(ISomeProvider someProvider)
{
SomeProvider = someProvider;
}
public ISomeProvider SomeProvider { get; private set; }
public void DoSomeWork()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.