1
正規表現を使用して別のテーブル(table2
)のレコードのテキスト情報の中で異なる名前(table1
)を検索するために、for/eachループを使用します。フレーズに一致する/それぞれのループのための効率性?
SELECT id FROM "table1"
where tags ~* 'south\s?\*?africa'
or description ~* 'south\s?\*?south'
order by id asc;
しかし、私はそれをどのループに入れるのかわかりません!
table1
:
t1ID | NAME
1 | Shiraz
2 | south africa
3 | Limmatplatz
table2
:
t2ID |TAGS | DESCRIPTIONS
101 |shiraz;Zurich;river | It is too hot in Shiraz and Limmatplatz
201 |southafrica;limmatplatz| we went for swimming
私はtable1
に名前のリストを持っています。別のテーブルには、これらの名前を含むテキスト情報があります。 table2
のIDを取得する場合は、アイテムのIDをtable1
に記載してください。例えば
:
t2id | t1id
101 |1
101 |3
201 |2
201 |3
私のテーブルには、60,000および550.000行を持っています。 時間を有効に使う方法を使用する必要があります。
が返事ありがとうございました! PostgreSQLで複数の単語を使用するのが新しいです!:( – Raha1986
私はJavaで検索したいと思っていましたが、データベースがより速いと思っていました! – Raha1986
@ Raha1986:パターンマッチングは複雑な問題です。あなたのRDBMS(特にPostgres)は、あなたのツールチェーン内の他のどのインスタンスよりもずっと高速に実行します –