0

データベース:

+ ---- + ------------ +
| id | somevalue |
+ ---- + ------------ +
| 1 | 1000 |
+ ---- + ------------ +
| 2 | 1001 |
+ ---- + ------------ +
| 3 | 1002 |
+ ---- + ------------ +
| 4 | 10021 |
+ ---- + ------------ +

質問:

「somevalue」の一部を含む文字列で行を見つける最良の方法は何ですか?
1.文字列が1002123456であるとしましょう。したがって、この場合、ID 4の行を検索する必要があります
。2。文字列が1002345678であるとします。したがって、この場合、ID3の行を検索する必要があります。

このシナリオでは「MySQLLIKE」は機能しますか?

更新:
データベースには60k行があり、「somevalue」は前面から一致する必要があります。「somevalue」の一部には異なる行が含まれている可能性があるため、次に例を示します。

+ ---- + ------------ +
| id | somevalue |
+ ---- + ------------ +
| 1 | 1000 |
+ ---- + ------------ +
| 27 | 371000 |
+ ---- + ------------ +

プロセスをできるだけ速くする方法を探しています。

4

2 に答える 2

0
SELECT * FROM `db`.`table` WHERE 'someval' LIKE CONCAT('%',`field` , '%') ;

RLIKE を使用すると、フィールドで正規表現を照合できます

于 2013-02-10T17:00:17.967 に答える
0

SELECT * FROM 'table' WHERE 'searchNumber' LIKE CONCAT('%', somevalue, '%')

于 2013-02-11T02:12:44.273 に答える