![]() データベースを検索する際に、文字列の部分一致が必須とされるケースが多々発生します。例えば、住所録を検索する際に、「東京都葛飾区柴又」は、住所の項目をインデックスにさえ設定しておけば先頭一致で瞬時に検索することができますが、同じ住所の項目から「柴又」を含むものだけを抽出しようとすると、これは先頭一致となりませんので、インデックス検索が不可能となります。 Magic では、このような部分一致の検索を行う際に、従来は INSTR() 関数を用いるのが常套手段であったわけなのですが、SQL の普及とともに、Magic でも SQL Where 句を用いて非インデックス項目に対して高速検索を行うことが可能となってきました。 今回は、この SQL Where 句を用いて非インデックス項目に対して部分一致検索を行い、INSTR() 関数を用いた場合との歴然たる違いを検証していきたいと思います。 |