mysql:535
From: Tatsuya Ina <Tatsuya Ina <ina@xxxxxxxxxx>>
Date: Wed, 13 Jan 1999 16:34:33 GMT
Subject: [mysql 535] Re: mMySQL speed
伊奈@セイコーエプソン です。 みなさん、さっそくアドバイスありがとうございます。 > 民斗です。 民斗様のドキュメント類にはお世話になりました。あれがなかったら、こんなに 早くテスト環境を構築できませんでした。本当にありがとうございました。 > まず、MySQL のバージョンは 3.22.xx にした方がいいと思います。 3.22.xxはperlのDBIモジュールが含まれていないため、contribから取ってきて やってみたのですが、コンパイルは通るのですが、起動するとエラーが起きてしまい、 それから追求してませんでした。もう一度トライしてみます。 > lotno が、大文字小文字を区別しなくても良くて、日本語も入らないなら、 > BINARY 属性をつけた方が若干速くなるかもしれません。 そうなんですか。これもやってみようと思います。 > 日付は 'yyyy/mm/dd' ではなくて 'yyyy-mm-dd' の方がいいと思います。 > 速度にはほとんど影響しないとは思いますが…。 ああ、これはtypoで、実際は'yyyy-mm-dd'でやっています。すいません。 > メモリが 128M もついているのなら、もっと大きくしてもいいように > 思います。 実はMLに投稿したあと、key-buffer=32m sort-buffer=32m record_buffer=32mとかやって みましたが、やはり大差ありませんでした。 >小岩です。 >ちょうど私もとある実験のために500万件のダミーデータを作ってこれからテストに >入るところだったんです。 >mysql> select count(*) from sample; >+----------+ >| count(*) | >+----------+ >| 5000000 | >+----------+ >1 row in set (0.02 sec) こちらでもwhere句をつけなければ、 mysql> select count(*) from Test_all_tab; +----------+ | count(*) | +----------+ | 4847180 | +----------+ 1 row in set (0.05 sec) となり、この部分は結果が一致しますね。しかし >これと同様に、全くインデックスをはっていないフィールドを対象にしてbetweenで >検索かけてみますと >mysql> select count(*) from sample where age between '10' and '30'; >+----------+ >| count(*) | >+----------+ >| 1105283 | >+----------+ >1 row in set (55.09 sec) >となります。ちなみにMMX Pentium 200MHzのLinuxBoxです。 これについては、私の方でもインデックスをはっていないsmallint型のフィールドを対象に betweenで検索をかけてみると mysql> select count(*) from Test_all_tab where pc_no between 10 and 20; +----------+ | count(*) | +----------+ | 474330 | +----------+ 1 row in set (3 min 23.04 sec) となり、やはりかなり遅いですね。 >毅です 村上様の会社のWebでMySQLのサポートを開始するというのを見て、工場 データの検索システムをMySQLでやろうと思いました。 >A.コンパイル時の最適化としては >-static -O6 などを使用します。(manual 4章) >3.22 の方が、速度は少し速いはずです コンパイル時は ./configure make make install しかしていないので、これにもトライしてみます。 >B.select 文は、 > mysql> explain select ........ >とすると、そのselect 文がいかに処理されるかわかります(manual 7章) >この結果より、テーブルやクエリの最適化の指標が得られると思います。 そうなんですか。これは知りませんでした。勉強不足でした。 >C.起動オプションは >mysqld --help >でオプションの値が参照できますが、 >あまり極端に変更しすぎると、Linux のファイルディスクリプターの制限に >引っかかるかもしれません。 >ここらあたりのパラメターは、試行錯誤になります。 >指標としては、パラメターを変えて、ソースに付属の bench mark suit >を実行すると、得られると思います。 これも知りませんでした。パラメータの最適化はこのようにやるのですか。 まだまだやることはたくさんあることがわかりました。 これから、頂いたアドバイスをトライしてみます。 結果を報告するのに、時間がかかるかと思いますが、またよろしくお願いします。
531 1999-01-13 23:48 [Tatsuya Ina <ina@xxx] mMySQL speed 532 1999-01-13 15:31 ┣[民斗 <tommy@xxxxxxxx] -> 535 1999-01-14 01:34 ┃┣[Tatsuya Ina <ina@xxx] 538 1999-01-13 16:53 ┃┗[民斗 <tommy@xxxxxxxx] 534 1999-01-13 15:44 ┣[<takeshi@xxxxxxxxxx>] 541 1999-01-13 17:39 ┣[<takeshi@xxxxxxxxxx>] 546 1999-01-14 08:58 ┗[<takeshi@xxxxxxxxxx>]