![]() 今回は、Magic の検索スピードに関する話題です。本連載の第38回(2011年4月)~第40回(2011年6月)で、「SQL Where 句の書き方」と題して Magic SQL に関して少し触れましたが、当時はまだ SQL が今ほど普及しておらず、SQL を使用するメリットについても知る機会が少なかったのですが、あれから11年の歳月が流れ、今や SQL なしの業務アプリは考えられない程まで業界が成長してきました。 とはいえ、Magic 開発者にとっては SQL コマンドを駆使してプログラムを書くにはまだまだハードルが高いという感があります。そこで今回は、プログラム内に SQL コマンドを全く記述することなく、SQL が持つ検索能力をフルに味わえるようなプログラムの作り方を皆さんとご一緒に学んでまいりたいと思います。SQL コマンドの知識は一切、必要ありません。 画面1は日本郵便株式会社が公開している全国郵便番号帳データをもとに、SQL 以前の作法で作成した Magic の検索プログラムです。12万3千件の住所レコードの中から、3つの文字列を含むものを検索して抽出するというプログラムです。文字列が部分一致するものを探し出すという検索ですので、先頭一致を目的としたインデックスは使用することができません。つまり、12万3千件のレコードをインデックス無しで全件検索して、該当データを探し出すという動きになります(後略)。 |