でハイフンの列は、テーブルを考えてみましょう:オラクル - where句
ID COUNTRY_CODE
1 ab-cd-ef
2 gh-ef
3 cd-ab-pq-xy
そして私は、特定の国コードを含むレコードを選択するSQLクエリを必要としています。 伝統的なLIKE
アプローチはもちろん、作品:
select ID from TableName where COUNTRY_CODE like '%cd%';
ここで懸念されており、このクエリは、総運用コストが増加するため、数百万レコードを超える実行します。コスト問題のために、ネストした表はここではオプションではありません。
注:必要に応じて、Javaを使用してクエリをパラメータ化できます。
このような検索可能な列を処理する費用対効果の高い方法はありますか?
この表があまり更新されない場合は、マテリアライズド・ビューを作成して、複数の国コードを持つCOUNTRY_CODEの重複レコードを作成できます。このように、likeを使用してパフォーマンスを向上させることは避けられます。 – STaefi
@STaefiテーブルには何百万ものレコードが含まれています。だから複製は本当にここでの選択肢ではありません。 – HitchHiker