全文検索したい その3

・環境
Windows XP SP2
メモリ 1GB
CPU P4 3GHz

PostgreSQL 8.1.4.1
JDBC postgresql-8.1-407.jdbc2.jar

Hyper Estraier 1.3.3
Java SE 5
Eclipse 3.2


・100万件の全件レコード検索
select * from items;
147625ms


・全レコード数をカウント
select count(*) from items;
859ms


・primary key で検索
select * from items where id = 'ID10';
16ms


・頭固定
select * from items where name like '0%';
1094ms


全文検索
select * from items where name like '%0%';
75796ms


Hyper EstraierでDB内データのインデックス作成(100万件)
1455360ms


Hyper EstraierのJavaAPIを使って全文検索(100万件)
63ms



速さ1000倍以上・・・・・・?



ということで、


基本的には通常のDBとしてPostgresなどを採用し、
全文検索したい場合にはDBとは別にインデックスを持ってはいかがでしょうか?


あ、そうだ。


Hyper Estraierの多重アクセスは問題ないのかなぁ。


次の実験は1秒間に100スレッドぐらい立てて動かしてみよう。