症状
运行在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 中的 WHERE 子句中使用 LIKE 运算符的查询时,可能会遇到性能不佳的情况。 如果满足以下条件,则会出现此问题:
-
LIKE 运算符比较的列采用排序规则SQL_Latin1_General_CP1_CI_AS。
-
LIKE 运算符比较的内容类似于百分比为“z”或“Z”之前作为第一个字符的格式,例如“maz%”。
解决方案
累积更新信息
2012 SQL Server累积更新 9
此问题的修补程序首次在累积更新 9 中发布。 有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击以下编号以查看Microsoft知识库中的文章:
2867319 累积更新包 9 for SQL Server 2012Note 由于内部版本是累积的,因此每个新修补程序版本都包含上一个SQL Server 2012 修补程序版本中包含的所有修补程序和所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 SQL Server 2012 年发布后发布的SQL Server 2012 版本
SQL Server 2012 Service Pack 1 的累积更新 5
此问题的修补程序首次在累积更新 5 中发布。 有关如何获取 SQL Server 2012 Service Pack 1 的此累积更新包的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:
2861107 SQL Server 2012 Service Pack 1 的累积更新包 5 注意 由于内部版本是累积的,因此每个新修补程序版本都包含以前的SQL Server 2012 Service Pack 1 修补程序版本中包含的所有修补程序和所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 SQL Server 2012 Service Pack 1 发布后发布的SQL Server 2012 版本
SQL Server 2008 R2 Service Pack 2 的累积更新 7
此问题的修补程序首次在累积更新 7 中发布。 有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:
2844090 SQL Server 2008 R2 Service Pack 2 的累积更新包 7 注意 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和以前的 SQL Server 2008 R2 Service Pack 2 修补程序版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 SQL Server 2008 R2 Service Pack 2 发布后发布的SQL Server 2008 R2 版本
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。