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

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