mysql 性能試験

CAT760を使ってmysqlの検索性能を試験してみました。

準備

  • CAT760、ストレージにはCFを利用
  • mysql 4.1.11
  • カラム数20,データ数6万のダミーデータ
  • 第一カラムはユニーク値

表形式

idc1c2c19c20
id000000pkDHTxmMR18N2l9k88EmLgN7cCCTt9rW
id000001OMKV8DoAUS6i7OPDfHjIUd7AxPoBShF3
id059999gVtRdmzOB56ZFEC9lGfn8z79yXa42AjW

データ形式

FieldTypeNullKeyDefaultExtra
idvarchar(8)YESMULNULL
c1tinytextYESNULL
c2tinytextYESNULL
c3tinytextYESNULL
c18tinytextYESNULL
c19tinytextYESNULL
c20tinytextYESNULL

以上のような単一テーブルをmysqlにインポートして SELECT 文の実行時間を計測する

結果

  • インデックスからの検索
    (例:ユーザ番号(=ユニーク値)が分かっていて住所を調べるなど)
mysql> SELECT id,c1,c2,c3,c4 FROM gomi WHERE id="id059986";
+----------+----------+----------+----------+----------+
| id       | c1       | c2       | c3       | c4       |
+----------+----------+----------+----------+----------+
| id059986 | fmmeS2aH | m6pxKxZW | I5mfyrPd | rul9Qsew |
+----------+----------+----------+----------+----------+
1 row in set (0.01 sec)
  • データからの検索 (例:住所など文字列からの検索など)
mysql> SELECT id,c1,c2,c3,c4 FROM gomi WHERE c8="ncA4Keqc";
+----------+----------+----------+----------+----------+
| id       | c1       | c2       | c3       | c4       |
+----------+----------+----------+----------+----------+
| id059986 | fmmeS2aH | m6pxKxZW | I5mfyrPd | rul9Qsew |
+----------+----------+----------+----------+----------+
1 row in set (1.69 sec)
  • 検索結果が複数になる検索 (c1の頭がABで始まる全て)
    (例:海老原さん全員検索など)
mysql> SELECT id,c1,c2,c3,c4 FROM gomi WHERE c1 LIKE "AB%";
+----------+----------+----------+----------+----------+
| id       | c1       | c2       | c3       | c4       |
+----------+----------+----------+----------+----------+
| id000178 | aBnj3iSo | GQJPCdmN | j9QD1hyf | jjAuIMBg |
| id001188 | AbjPjkJb | X5fSgRIw | ZveAf9JT | TuHV9Hx9 |
| id001237 | Ab8jVM4i | uKYGdMpr | S3cUWLuY | kvfJ5IS6 |
略
| id058572 | AbSQ9O0H | FQKMPWVM | zk0U9GGg | GxMCUOCU |
+----------+----------+----------+----------+----------+
66 rows in set (1.75 sec)
  • 最近検索した条件で再び
mysql> SELECT id,c1,c2,c3,c4 FROM gomi WHERE c1 LIKE "AB%";
+----------+----------+----------+----------+----------+
| id       | c1       | c2       | c3       | c4       |
+----------+----------+----------+----------+----------+
| id000178 | aBnj3iSo | GQJPCdmN | j9QD1hyf | jjAuIMBg |
| id001188 | AbjPjkJb | X5fSgRIw | ZveAf9JT | TuHV9Hx9 |
| id001237 | Ab8jVM4i | uKYGdMpr | S3cUWLuY | kvfJ5IS6 |
略
| id058572 | AbSQ9O0H | FQKMPWVM | zk0U9GGg | GxMCUOCU |
+----------+----------+----------+----------+----------+
66 rows in set (0.01 sec)

結果まとめ

  • ユニーク値が振られていれば、一瞬(0.00秒 あるいは 0.01秒)で検索終了
  • 20x60,000 の表形式のテキストデータから任意の検索は2秒未満
  • データがキャッシュされていれば一瞬で終わる

リンク

Last-modified: 2006-10-26 (木) 18:47:24 (6384d)