0

最近我尝试向 MySQL DB 询问特定数据但没有成功:

SELECT code, txt_gb, txt_de 
FROM table 
WHERE code REGEXP 'chol'
OR txt_gb REGEXP 'chol' 
OR txt_de REGEXP 'chol' 
ORDER BY code 
COLLATE utf8_unicode_ci

我在某处读到 LIKE 命令比 REGEXP 具有更好的性能。这是真的吗?在这种情况下我可以使用 LIKE 而不是 REGEXP 来查找单元格的一部分吗?我对最小化数据库的负载非常感兴趣。

4

1 回答 1

1

尝试

SELECT code, txt_gb, txt_de FROM table WHERE code like '%chol%' OR txt_gb like '%chol%' OR txt_de like '%chol%' ORDER BY code 

是的,正则表达式有时很慢,甚至不是更快,但运行良好且易于编写,然后正则表达式满足您的需要。

于 2013-10-02T08:26:28.630 回答