提高通配符日期模式搜索的性能

时间:2016-11-21 12:48:56

标签: sql-server performance date wildcard

我有一个通配符搜索,我需要提高性能:

mycolumn like '%-%%-%'

有办法做到这一点吗? (例如,使用全文索引?)

Obs:我必须在我的文本中找到遵循该模式的日期,例如21-07-2016。

修改

我有一个遗留数据库,我无法改变结构。所以,我有一个nvarchar(max)的列。在此列中可以存储文本和日期。我必须找到插入日期的行。

1 个答案:

答案 0 :(得分:2)

如果不能改变结构,我认为你无法做很多事情。如果这是一次性的,我建议简单地提取数据并进行处理。

如果这需要是一个持续的/ BAU过程,我认为唯一可以改善你的表现的是在你的模式匹配中更具体一点,以消除你将使用当前匹配模式得到的误报。

假设问题中的格式是您唯一要查找的格式,您可以使用:

like '%[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]%'