MATCHES 和 LIKE 关键字支持通配符匹配,这在技术上称为正则表达式。对于数据库服务器而言,某些正则表达式比起 其他的正则表达式,执行起来要更困难。
SELECT * FROM customer WHERE fname NOT LIKE '%y'
您不能将索引与这样的过滤器一起使用,因此,必须顺序访问此示例中的表。
如果对正则表达式的大难度测试是必需的,那么应避免将其与连接结合使用。如果有必要,处理单个表并应用正则表达式的测试来选择所需的行。 将结果保存在临时表中,并将该临时表与其他表连接。
对于通配符位于操作数中间或末尾的正则表达式测试,那么能够使用索引(如果存在索引)。