文字列に対して検索するクエリがあります。
SELECT county FROM city WHERE UPPER(name) = 'SAN FRANCISCO';
さて、これは問題なく動作しますが、うまくスケーリングできず、最適化する必要があります。生成されたビューの作成などのオプションを見つけましたが、インデックスを使用したより簡単なソリューションを望んでいました。
DB2 を使用しており、実際には index で式を使用したいのですが、このオプションは z/OS でしか使用できないようですが、Linux を実行しています。とにかく式インデックスを試しました:
CREATE INDEX city_upper_name_idx
ON city UPPER(name) ALLOW REVERSE SCANS;
しかしもちろん、それは UPPER(名前) で詰まります。
既存のクエリを再構築して新しく生成されたビューを使用したり、既存の列を変更したり、その他のそのような侵入的な変更を行う必要がないように、この方法でインデックスまたは同様のものを作成できる別の方法はありますか?
編集:私は他のデータベースの解決策を聞くことにオープンです...それはDB2に引き継がれるかもしれません...