既存のデータ テーブル T のフィールド "A"、A の値は通常、"12,123,312,1212" の形式になります。 T には 100,000 個のデータがあります。
A~
に 1 つの「12」を含むレコードをクエリする必要があります例:
「123,125,1212,1234,312」には「12」が 1 つも含まれていません。
「1,18,123,1212,321,312」には「12」が 1 つも含まれていません。
"1,12,123,1212,321,312" には、
...
クエリ メソッドが 2 つあり、少し面倒に感じます ~ 1 つは CONCAT、もう 1 つは LIKE OR
誰かがより効率的な方法を持っているかどうか尋ねます、ありがとう~
仅有的幸福2017-05-31 10:36:41
フィールド A に全文インデックスを追加し、全文検索を使用することを検討できます:
リーリー次の点に注意してください:
MySQL 5.6.4 の innodb_ft_min_token_size のデフォルト値は 3 です。
MyISAM の ft_min_word_len のデフォルト値は 4 です。
必要なインデックスの最小長が 2 の場合は、私の.cnf:
innodb_ft_min_token_size =2
ft_min_word_len=2