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>]