[前][次][番号順一覧][スレッド一覧]

mysql:557

From: Tatsuya Ina <Tatsuya Ina <ina@xxxxxxxxxx>>
Date: Fri, 15 Jan 1999 19:06:22 GMT
Subject: [mysql 557] Re: MySQL speed


伊奈@セイコーエプソンです。皆様お世話になります。

> 毅です
> 
> mysql> explain select count(*) from Test_all_tab where lotno like 'D15A0%';
> の結果をみると、だいたい妥当な感じです。
> で MySQL の場合、like を使用すると、それの正当性をいちいちチャックして回
> ります
> すなわち、単に数え上げているわけでなく、内部では verify しているようです
> で、MySQL3.22 のルーチンでは、今回のような場合において、
> MySQL は 遅くなる事がわかりました。(monty は限られた場合と言ってます)
> TcX にあげたら、これは、3.23 で fix されます。

おお、すばらしい。ありがとうございます。期待できますね。
## 私も少しは貢献できたのでしょうか?

> mysql> explain select count(*) from Test_all_tab where stop_day >'1998-11-14
> 'and stop_day <'1998-12-14';
> からは、
> monty いわく、
> "こんなに違うのはとても興味深く" (なかば信じられない)てかんじで、
> 私は empress の特徴をつかんでいないのですが、
> ↓の場合、(columnは何を指す?) Empress は速くなるそうです。
> " Do you happen to know how Empress saves data?  If they save everything 
> by column, this could explain why this is fast.  This would of course mean
> that if you retrieve a couple of columns of data things would get
> extremely slow."

そうなんですか。(と、言ってもTCXの言っている意味は理解できていません。)

> 
> mysql> show status;
> からは、(ハマさんや民斗さんの言うとおりIOで、)
> MySQL は 22793 個のキーを探し、(この場合、disk を探しに行っています)
> disk seek に 10ms, 計 227秒かかっています。
> Linux 側の file system の利用が
> 足を引っ張っているのではないかとのかんがえです。↓
> 
> "The only reason I can explain why Empress does the later query in 6 seconds is
> that Empress uses prealloced files or a pre-allocated disk partition and
> that it the MySQL tables are very distributed on the disk (by Linux)."
> 
> また、IOのために遅くなっているので、key_buffer を増やします。
> (monty は empress にあたえているメモリーと同じぐらいにするとどうなの?
>  と言ってます -O key_buffer=16M

empressには明示的になんらののメモリーを割り振るようなことはしていません。
-O key-buffer=32m -O sort-buffer=32m -O record_buffer=32mとかやってみましたが、
10sec程度速くなったに留まっています。(これではちゃんとしたデータではないので
また、データ取って報告します)
 
> 
> で、少しでも速くするには、4つ方法があり、
> a).
> mysqladmin flush-tables
> isamchk -r database/Test_all_tab
>    
>  〜 中略 〜
> 
> b) ISAM のバッファの変更
>
>  〜 中略 〜
> 
> c) char binary 型の使用
>
>  〜 中略 〜
> 
> d) key_buffer= の十分なわりあて
> 
> 
> 以上、ご報告いただけるとありがたいです。

アドバイスありがとうございます。TCXに素早い問い合わせなどして頂いた
のに申し訳ないのですが、これらの確認は来週の月曜日以降になってしまいます。
少し時間がかかるかと思いますが、必ず行い、また報告したいと思いますので
よろしくお願いいたします。

> また、参考のためにも、
> empress でテーブルやメモリー割り当て、ファイルアロケーションなどをどのように
> したか、教えていただくとありがたいです。

empressに関してはなんのコンフィグレーションもしていません。
インストーラの指示に従い、インストールしただけで、インストールの際にも
メモリーの割当やファイルアロケーション等、なにも聞かれませんでした。

EIDEのマスター側に4GのHDDを接続し、
 /dev/hda1  /          1G byte
 /dev/hda2  /home      1G byte
 /dev/hda3  /DATA      2G byte
にパーテーションを分割し、empress本体を/home/empressの下に、データベース
を/DATAの下に作成したのみです。

Shogo Hamamotoさんwrote:
> 今のところCPUパワーはくっていないようですので、データ専用のディスク(フ
> ォーマット済)に出して評価できないでしょうか。

実はMySQLの環境は、Linux及び、MySQLをEIDEのHDDにインストールして、
データはUltra SCSIのディスク上へ作成してあります。EIDE側はempressと同じ構成で
 /dev/hda1  /          1G byte
 /dev/hda2  /home      1G byte
 /dev/hda3  /DATA      2G byte
となっており
 /dev/sda1  /DATA3     4G byte
として
/usr/local/var(データ領域) を /DATA3/varへシンボリックリンクしています。
#シンボリックリンクが何かの問題を起こすとかありませんよね。









[前][次][番号順一覧][スレッド一覧]

->     557 1999-01-16 04:06 [Tatsuya Ina <ina@xxx] Re: MySQL speed                         
       560 1999-01-15 19:34 ┗[<takeshi@xxxxxxxxxx>]