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

mysql:553

From: 民斗 <民斗 <tommy@xxxxxxxxxx>>
Date: Thu, 14 Jan 1999 19:02:00 +0900
Subject: [mysql 553] Re:MySQL speed


民斗です。

[Subject: [mysql 552] Re:MySQL speed]
[Date: Thu, 14 Jan 1999 14:21:24 GMT  From:Tatsuya Ina]

> LinuxのtopコマンドでCPUとMemoryの使用率とかみてみると、
> like文の検索時も、between時の検索時もCPU,Memoryとも使用率は数%程度に
> 留まっています。その間、HDDのアクセスランプは点灯しっぱなしです。
> 
> これってMySQLが十分にメモリーを使っていないということでしょうか?
> それともデータが多きすぎて、MySQLのバッファーには取り込みきれず、
> ディスクへアクセスしにいくということでしょうか。

仮に MySQL 内部バッファが有効に使われるとしても、mysqld 起動後はじめて
使用するテーブルの場合は、ディスクから読む処理に時間がかかるのは仕方
ないと思います。

> 同じ検索をすぐ繰り返すと、2回目は、HDDへのアクセスはほとんどなく、10倍くらい
> 速くなります。2回目はCPU使用率は95%程度になりますが、MySQLの使用するメモリー
> はあまりかわりません。これはOSのディスクキャッシュでバッファリングされている
> からでしょうかね。

ん〜、これだけでは、MySQL のバッファが使われているのか OS のバッファが
使われているのかちょっとわかりませんが…。

その後、MySQL は一切いじらずに、他の機能で大量にファイルを読み込むような
処理をした後に、再度同じクエリを試してみるってのはどうでしょう?

それでも速いままなら MySQL のバッファが使われているってことでしょうし、
最初と同じくらいの速度なら、OS のバッファが使われてたということでしょう。

# あ、でも swap があると話がややこしくなるか…。


ところで、like とか between でなくて、= 演算子を使って試してみました。

mysql> select count(*) from TABLE1 where word="hoge";
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set (0.17 sec)

mysql> select count(*) from TABLE1 where word="sunos";
+----------+
| count(*) |
+----------+
|      776 |
+----------+
1 row in set (2.26 sec)

mysql> select count(*) from TABLE1 where word="2";
+----------+
| count(*) |
+----------+
|    15990 |
+----------+
1 row in set (12.57 sec)

どうもこの結果を見るに、インデックステーブル中から特定の値を見つける
のは速いけど、同じ値の行が複数ある場合、それらを走査するのに時間が
かかってるような感じです。

つまり、ある値について検索する場合、その値を含む行が多ければ多いほど
インデックスの効果は薄れるということかもしれません。

# そういえば DBMS のインデックスはそういうもんだという話をどっかで
# 読んだような気もする…。
--
民斗 <tommy@xxxxxxxxxx>

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

       543 1999-01-14 05:27 [Tatsuya Ina <ina@xxx] Re:MySQL speed                          
       545 1999-01-13 22:48 ┣[<takeshi@xxxxxxxxxx>]                                       
       550 1999-01-14 11:16 ┗[民斗 <tommy@xxxxxxxx]                                       
       552 1999-01-14 23:21  ┗[Tatsuya Ina <ina@xxx]                                     
->     553 1999-01-14 19:02   ┗[民斗 <tommy@xxxxxxxx]                                   
       554 1999-01-15 00:32    ┗[Shogo Hamamoto <KHC0]                                 
       555 1999-01-15 12:39     ┗[<takeshi@xxxxxxxxxx>]