下面是一些有用的MySQL regexp优化技巧:
1. 使用ANCHOR锚点:使用^和$锚点可以限制正则表达式的搜索范围,减少不必要的遍历。例如:SELECT * FROM mytable WHERE mycolumn REGEXP '^m'; 2. 使用SETUP方式:例如:SELECT * FROM mytable WHERE mycolumn REGEXP '^(a|b|c)',可以使用SETUP方式将正则表达式的参数提前一次性编译,避免多次计算; 3. 避免贪婪匹配:正则表达式默认使用贪婪匹配,即尽可能匹配更多字符。为了避免不必要的回溯和计算,可以使用.*?和.+?等非贪婪符号; 4. 使用LIKE替代:对于简单的字符串匹配,可以使用LIKE替代regexp,因为LIKE比regexp更快速简便; 5. 精简正则表达式:简洁明了的正则表达式可以减少不必要的计算和回溯,同时增加代码可读性。