[PHP-users 10040] Re: 複数選択項目の効率の良い管理方法について

Naofumi Kondoh php-users@php.gr.jp
Thu, 12 Sep 2002 11:58:56 +0900


ソフト工房の近藤です。

Osamu Shigematsu wrote:

....略.....

> アンケートなどでよくある複数選択項目を
> DB で効率良く管理する方法について、
> アドバイスをいただければと思います。

....略....

対象とするレコード件数は、何百万件位でしょうか?。

テストデーターを作って、実環境になるべく近い状態で
実際の処理速度を測ってみることをおすすめします。

Web アプリのような対話処理だと 8 秒ルールは古くて
2秒ルールでないと駄目だとか言われますが、バッチ
処理なら多少は時間がかかってもよいのではないでしょうか。

むしろ、正規化を崩したり、特殊な処理をして、システム
の拡張性がなくなってしまう方が問題ではないでしょうか。

バッチ処理の場合、全件検索で WHERE 条件をつけても
以外と処理時間を食わないものです。最近の PC は、
メモリーも数百 MB があたりまえで、CPU の処理速度も
上がっていますので、競合する処理がなければ、結構な
スピードが出ます。

第3正規形にすると JOIN が多くて速度は落ちますが、
SQL 文の工夫とか、一時表を間に入れるとか工夫次第で
それなりに速度が上がるものです。

ご参考までに、十年ほど前の、主記憶 64 MB の WS で、
似たような処理をした時は、速度向上のために、関連表を
夜間バッチなどで必要項目だけビットマップにした UNIX
FILE を作成し、検索するときは、その UNIX FILE の主要
部分を主記憶に入れて検索するようなことをしたことが
あります。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/      http://www.shonan.ne.jp/~nkon/
2002-09-26(木)19:00-21:30 第6回 JPUG 業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/