mysql:583
From: Tatsuya Ina <Tatsuya Ina <ina@xxxxxxxxxx>>
Date: Mon, 18 Jan 1999 17:05:22 GMT
Subject: [mysql 00583] Re: MySQL speed
伊奈です。 本業の合間にやっているのでなかなか進みませんが、 > 毅です > 〜 中略 〜 > a). > mysqladmin flush-tables > isamchk -r database/Test_all_tab > > b) ISAM のバッファの変更 > isam/static.c: > nisam_block_size=1024 > を > nisam_block_size=8192 > に変更 > > c) char binary 型の使用 > alter table する場合も(a)と同様、tmpdir の容量と、 > database directory のあるパーティションの容量に気をつけてください。 > > d) key_buffer= の十分なわりあて やってみました。 > c) char binary型の使用 以外は結果が出たので報告します。 (1)まずはデフォルト設定のまま mysql> select count(*) from Test_all_tab where lotno like 'D15A0%'; +----------+ | count(*) | +----------+ | 717505 | +----------+ 1 row in set (9 min 26.46 sec) mysql> select count(*) from Test_all_tab where stop_day between '1998-11-14 00:00:00' and '1998-12-14 23:59:59'; +----------+ | count(*) | +----------+ | 1118730 | +----------+ 1 row in set (5 min 8.02 sec) (2)バッファーサイズを32mに変更 -O key_buffer=32m -O sort_buffer=32m -O record_buffer=32m ickg140:~$ mysqladmin variable +----------------------+---------------------------------+ | Variable_name | Value | +----------------------+---------------------------------+ | back_log | 5 | | connect_timeout | 5 | | basedir | /usr/local/ | | datadir | /usr/local/var/ | | join_buffer | 131072 | | key_buffer | 33550336 | | language | /usr/local/share/mysql/english/ | | log | ON | | long_query_time | 10 | | low_priority_updates | OFF | | max_allowed_packet | 1048576 | | max_connections | 90 | | max_connect_errors | 10 | | max_join_size | 4294967295 | | max_sort_length | 1024 | | net_buffer_length | 16384 | | port | 3306 | | record_buffer | 33550336 | | skip_locking | ON | | socket | /tmp/mysql.sock | | sort_buffer | 33554424 | | table_cache | 64 | | thread_stack | 65536 | | tmp_table_size | 1048576 | | tmpdir | /tmp/ | | update_log | OFF | | wait_timeout | 28800 | +----------------------+---------------------------------+ mysql> select count(*) from Test_all_tab where lotno like 'D15A0%'; +----------+ | count(*) | +----------+ | 717505 | +----------+ 1 row in set (9 min 30.93 sec) mysql> select count(*) from Test_all_tab where stop_day between '1998-11-14 00:00:00' and '1998-12-14 23:59:59'; +----------+ | count(*) | +----------+ | 1118730 | +----------+ 1 row in set (5 min 7.26 sec) 影響はありません。 (3)isamchk -r 実行 ickg140:/usr/local/bin# ./isamchk -r /usr/local/var/qctrans/Test_all_tab - recovering ISAM-table '/usr/local/var/qctrans/Test_all_tab.ISM' Data records: 4847180 - Fixing index 1 - Fixing index 2 - Fixing index 3 ちょうど1Hくらいで終了 iamchk後、確認 mysql> select count(*) from Test_all_tab where lotno like 'D15A0%'; +----------+ | count(*) | +----------+ | 717505 | +----------+ 1 row in set (4 min 35.98 sec) mysql> select count(*) from Test_all_tab where stop_day between '1998-11-14 00:00:00' and '1998-12-14 23:59:59'; +----------+ | count(*) | +----------+ | 1118730 | +----------+ 1 row in set (1 min 3.75 sec) おお! かなり速くなりました。 (4)nisam_block_size=8192として再コンパイル、インストールし直しました。結果は mysql> select count(*) from Test_all_tab where lotno like 'D15A0%';+----------+ | count(*) | +----------+ | 717505 | +----------+ 1 row in set (4 min 33.17 sec) mysql> select count(*) from Test_all_tab where stop_day between '1998-11-14 00:00:00' and '1998-12-14 23:59:59'; +----------+ | count(*) | +----------+ | 1118730 | +----------+ 1 row in set (1 min 5.18 sec) isamchk -r 後の結果とあまりかわりません。 申し訳ありません。本業(半導体の不良解析エンジニアです)がたて込んでしまって いるので、続きは明日行います。 取り合えず、報告まで。 伊奈 竜也 (ina@xxxxxxxxxx)
-> 583 1999-01-19 02:05 [Tatsuya Ina <ina@xxx] Re: MySQL speed 597 1999-01-19 02:58 ┗[<takeshi@xxxxxxxxxx>]