mysql:5201
From: "fuji" <"fuji" <fujita_n@xxxxxxxxxx>>
Date: Tue, 26 Feb 2002 22:22:11 +0900
Subject: [mysql 05201] 全件検索の時間
はじめまして。ふじといいます。 MySQL初心者です。(データベース自体初心者) 見よう見真似で、Apache + Perl + MySQL で DBを作成しました。 WEBブラウザからPerlを使って検索してみたのですが、 9万件ぐらいで、5秒ぐらいかかります。 5千件ぐらいの時は一瞬でした。 件数が増えるとこういうものなのでしょうか? もしくは設定が全然ダメなんでしょうか? 検索は、3個のフォームに何も入力せずに検索です。 検索条件を入れた時はある程度早く検索します。 何も入力せずに、検索ボタンを押した時に早く結果を得たいと 思ってます。 ?考え方がおかしい可能性も含めて どなたか、教えていただけると助かります。 環境は、 -------------------------------------------- サーバー Windows2000Server Apache 1.3.23-win32-x86-no_src.exe ActivePerl-5.6.1.631-MSWin32-x86.msi(DBI DBD-Mysql使用) mysql-3.23.47-win.zip *サーバーは他に Lotus Notes が起動してます。 -------------------------------------------- クライアント(検索実行PC) Windows2000Professional 検索は、サーバー上のWEBより。 (http://192.168.1.1 とアクセス) -------------------------------------------- MySQLのテーブル create table test ( test1 char(6) not null, test2 char(2) not null, test3 char(1) not null, test4 char(1) not null, test5 char(8) not null, index (test1,test2,test3,test4,test5) ); 件数は9万件ほど。 -------------------------------------------- Perl 記述 $db = DBI->connect('DBI:mysql:abc:localhost','root','love'); $sth = $db->prepare("SELECT * FROM test where test1 LIKE '$kw1%' and test2 LIKE '$kw2%' and test3 LIKE '$kw3%'"); $sth->execute; $hit_num = $sth->rows; print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "$hit_num 件見つかりました<BR>\n"; for ($i=0; $i<$hit_num; $i++) { @str = $sth->fetchrow_array; $insert_dt = $str[0].",".$str[1].",".$str[2]; if ($befcmp_dt eq $insert_dt){$same__chk = 1;} else {$same__chk = 0; $befcmp_dt = $insert_dt; } if ($same__chk eq 0){ push(@HIT,"$str[0],$str[1],$str[2],$str[3],$str[4]"); #検索結果を @HIT へ!! } print "$str[0],$str[1],$str[2],$str[3],$str[4]<br>\n"; } print "</BODY></HTML>\n"; $sth->finish; $db->disconnect; $kensaku_cnt = @HIT;
-> 5201 2002-02-26 22:22 ["fuji" <fujita_n@xxx] 全件検索の時間 5202 2002-02-26 23:01 ┣[tateyan <tateyan@xxx] 5203 2002-02-26 23:09 ┣["KAWAI,Takanori" <GC] 5204 2002-02-26 23:09 ┗[とみたまさひろ <tomm] 5205 2002-02-27 00:11 ┗[tateyan <tateyan@xxx] 5206 2002-02-27 03:34 ┗["Takuji Hidaka" <tak] 5207 2002-02-27 10:29 ┗["fuji" <fujita_n@xxx] 5208 2002-02-27 11:51 ┗["KAWAI,Takanori" <GC]