mysql:5203
From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Tue, 26 Feb 2002 23:09:17 +0900
Subject: [mysql 05203] Re: 全件検索の時間
川合孝典です。 ----- Original Message ----- From: "fuji" <fujita_n@xxxxxxxxxx> To: "Mysql ML" <ml@xxxxxxxxxx> Sent: Tuesday, February 26, 2002 10:22 PM Subject: [mysql 05201] 全件検索の時間 > はじめまして。ふじといいます。 > MySQL初心者です。(データベース自体初心者) > > 見よう見真似で、Apache + Perl + MySQL で > DBを作成しました。 DBIのドキュメントはきちんと目を通すことをお勧めします。 今のままでも動くでしょうけれど、後々のことを考えるとあまり いいコードとは思えないので。 ポイントは - use strictを使うようにしましょう - AutoCommitも設定しましょう。さらにRaiseErrorも知っておくと便利でしょう。 - rowsプロパティを信用してはいけません。特にexecuteの直後は。 (データベースを変えたときに痛い目にあいかねません) > WEBブラウザからPerlを使って検索してみたのですが、 > 9万件ぐらいで、5秒ぐらいかかります。 > 5千件ぐらいの時は一瞬でした。 > 件数が増えるとこういうものなのでしょうか? > もしくは設定が全然ダメなんでしょうか? (以下略) ざっとみてポイントは2つかなと。 まず5,000件と90,000件で全件検索させているのであれば、 しかも全部出力するのであれば、単純に考えれば18倍近く 時間が掛かっても仕方ないでしょう。 #0.3秒が5秒になっても、それほど不思議ではないでしょう。 それに配列にデータを突っ込んでいるみたいですし。 さらに本当に全件検索したいのであれば、WHEREから下の 条件はいらないはず。 #LIKE '%'っていうのがどのように評価されるのかちょっと #分かりかねますが =================================================== 川合 孝典 (Hippo2000) DBI日本語メーリングリスト管理人、Kansai.pm所属 kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx http://member.nifty.ne.jp/hippo2000 http://www.hippo2000.net/ 「Perlを256倍使うための本 DBI編」 3/14発売予定(^^) ===================================================
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]