【问题标题】:Optimizing queries that search for text优化搜索文本的查询
【发布时间】:2021-05-19 15:23:00
【问题描述】:

我有 SSRS 报告,它使用在 Where 子句中搜索特定文本的查询。我知道使用 ID 是过滤数据的首选方法,但此表仅使用 varchar 字符串...我可能会添加很长的字符串。

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

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

【问题讨论】:

  • "...我知道使用 ID 是过滤数据的首选方法..." -- 不。过滤就是以任何对业务模型有意义的方式进行搜索的灵活性。你希望这些字符串有多长?应该很好地支持 1000 个字符,但我不会超过 32k。

标签: sql reporting-services ssms ssrs-2016 ssms-2017


【解决方案1】:

对于您的查询,您希望在ReviewFieldOption 的索引中。

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

【讨论】:

猜你喜欢
  • 2018-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 2016-01-06
  • 2021-08-23
相关资源
最近更新 更多