Sql 优化搜索文本的查询

Sql 优化搜索文本的查询,sql,reporting-services,ssms,ssrs-2016,ssms-2017,Sql,Reporting Services,Ssms,Ssrs 2016,Ssms 2017,我有一个SSRS报告,它使用一个查询来搜索Where子句中的特定文本。我知道使用IDs是过滤数据的首选方法,但是这个表只使用varchar字符串…我可能会添加很长的字符串 查询搜索5个不同的varchar字符串。字符串是静态的,所以字符串文本不会有任何变化(谢天谢地)。查询本身非常简单。我知道使用通配符会影响性能。我做了一些研究,似乎我无能为力。在我放弃之前,我希望Stackoverflow的聪明人可能知道我可以做些什么来优化查询 SELECT * FROM Reviews WHERE Revi

我有一个SSRS报告,它使用一个查询来搜索Where子句中的特定文本。我知道使用IDs是过滤数据的首选方法,但是这个表只使用varchar字符串…我可能会添加很长的字符串

查询搜索5个不同的varchar字符串。字符串是静态的,所以字符串文本不会有任何变化(谢天谢地)。查询本身非常简单。我知道使用通配符会影响性能。我做了一些研究,似乎我无能为力。在我放弃之前,我希望Stackoverflow的聪明人可能知道我可以做些什么来优化查询

SELECT * FROM
Reviews
WHERE ReviewFieldOption = 'The student displayed proficient knowledge of the material provided over the semester'

对于您的查询,您需要在
reviewFieldDoption
上的索引中


这适用于字符串,甚至长字符串——假设它们不是太长。索引中键的大小有一些限制。

什么是“太长”?只是wondering@eshirvana . . . 在SQL Server中,它是900字节,如文档中所述:。好的,非常感谢。谢谢!我会试一试。”…我知道使用ID是过滤数据的首选方法…--不。过滤是指以对业务模型有意义的任何方式进行搜索的灵活性。你预计这些字符串会有多长?1000个字符应该得到很好的支持,但我不会超过32k。