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 より優れていることをどこかで読みました。本当ですか?この場合、セルの一部を検索するために REGEXP の代わりに LIKE を使用できますか? DB の負荷を最小限に抑えることに非常に関心があります。

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 に答える