私は、文字列に対して検索をしていたクエリがあります。今データベースの大文字と小文字を区別しないインデックス?
SELECT county FROM city WHERE UPPER(name) = 'SAN FRANCISCO';
を、これは正常に動作しますが、それはうまくスケールしない、と私はそれを最適化する必要があります。私はfound an optionのような生成されたビューを作成する行に沿っていますが、私はインデックスを使ったより簡単な解決策を望んでいました。
私たちはDB2を使用していますが、実際にはexpression in an indexを使用しますが、このオプションはz/OSでのみ使用できるように見えますが、Linuxを実行しています。とにかく表現インデックスを試してみました。
CREATE INDEX city_upper_name_idx
ON city UPPER(name) ALLOW REVERSE SCANS;
もちろん、UPPER(名前)はチョークします。
このような方法でインデックスなどを作成する別の方法はありますか。既存のクエリを再構築して新しい生成されたビューを使用したり、既存の列を変更したり、 ?
編集:私は他のデータベースのためのソリューションを聞くまで開いている...それはDB2に持ち越さかもしれません...
残念ながら、DB2/LUWにはそれがまだありませんが、おそらくDB2/zにはそれがあるから来ているでしょう。 – paxdiablo