MySQLチューニング
インサート(insert)の処理方式別のパフォーマンスを検証
インサートの処理方式別のパフォーマンスについて検証してみました。
検証環境は以下の通りです。
サーバ:DELL PowerEdge860 (1U)
CPUIntel(R) Xeon(R) CPU 3050 @ 2. [...]
まずちゃんとした設計。チューニングはその後で。
1.適切な主キーを設定する
InnoDBの主キーはクラスターインデックスだということを意識しよう から導き出されること
更新する可能性がある項目は主キーにしない(主キーの更新はコスト高い!)
主キーの項目長はなるべく小 [...]
InnoDBの主キーはクラスターインデックスだということを意識しよう
InnoDBについて一番大事なことは主キーがクラスターインデックスだということです。
クラスターインデックスでは、主キー(B-tree)のリーフページにデータが直接格納されています。
以下の図のようなイメージです。
[...]
記事へ更新があるシステムにはInnoDBを選ぼう。MyISAMを選択するならそれなりの理由が必要。それにInnoDBのパフォーマンスはそんなに悪くないよ。
基本はInnoDBです。
MyISAMを選択できるようなケースを考えてみます。
・完全に検索Onlyの場合(基幹系とかから一定間隔で検索用テーブルを再構築する。それ以外の時間は検索のみのようなケース。)
・ログ系のテーブ [...]
InnoDB vs MyISAM パフォーマンス DELETEとINSERT
前回のUPDATEに続いて今回はDELETEとINSERTのパフォーマンスを比較します。
測定環境についてはこちらを参照して下さい。
・データ件数は100万件
・こちらの構造のテーブルをInnoDBとMyISAMで作成し [...]
InnoDB vs MyISAM パフォーマンス UPDATE
そもそもトランザクションがあるエンジン(InnoDB)と無いエンジン(MyISAM)を比較して
意味があるのかと言われるとそれまでですが、一応、更新系のパフォーマンスも比較してみます。
MyISAMの圧勝が想像できますが [...]
InnoDB vs MyISAM パフォーマンス Left Join
INNER JOINに続いて、今度はLEFT JOINのパフォーマンス比較です。
測定環境についてはこちらを参照して下さい。
・データ件数は100万件
・こちらの構造のテーブルをInnoDBとMyISAMで作成して処理速 [...]
InnoDB vs MyISAM パフォーマンス Inner Join
副問い合わせに続いて、今度はINNER JOINのパフォーマンス比較です。
測定環境についてはこちらを参照して下さい。
・データ件数は100万件
・こちらの構造のテーブルをInnoDBとMyISAMで作成して処理速度を比 [...]
InnoDB vs MyISAM パフォーマンス 副問い合わせ
InnoDB vs MyISAMシリーズでブログ風のテーブル設計にして、
副問い合わせのパフォーマンスを試してみました。
測定環境についてはこちらを参照して下さい。
・データ件数は100万件
・こちらの構造のテーブルをI [...]
InnoDB vs MyISAM パフォーマンス測定環境)(ブログ風パターン)
今度はブログ系のテーブル構成になっています。
サーバ環境
HP DL350
Linux version 2.6.9-5.ELsmp (bhcompile@decompose.build.redhat.com) (gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan 5 19:30:39 EST 2005
Intel(R) Pentium(R) III CPU family×2
cpu MHz : 1396.686
cache size : 512 KB
3GB of RAM
OSもMySQLも32bit。
MySQLは5.0.37。
1.テーブルの構造
1.1 InnoDBのテーブル
PLAIN TEXT
SQL:
CREATE TABLE IF NOT EXISTS entry (
`id` int(10) UNSIGNED [...]
記事へInnoDB vs MyISAM パフォーマンス SELECT ・・・ LIMIT N
InnoDB vs MyISAMシリーズはまだまだ続きます。
前回はこちら。
今回はLimitの件数の指定でどう変化するかと試してみます。
測定環境についてはこちらを参照して下さい。
・データ件数は100万件
・こちらの [...]
InnoDB vs MyISAM パフォーマンス 取得件数が多い場合
なんかしつこいですがInnoDB vs MyISAMシリーズが続いています。
前回までではPrimaryKey,UniqueIndex、非UniqueIndexで1~数件を取得する
パターンが主ですが今回はそれなりの件数 [...]
InnoDB vs MyISAM パフォーマンス PrimaryKEY、UniqueIndex、非UniqueIndex
InnoDB vs MyISAMシリーズがまだ続いています。
前回までで環境や初期化パラメータの設定が落ち着いたので
本格的にInnoDBとMyISAMのパフォーマンスを比較してみます。
測定環境についてはこちらを参照し [...]
innodb_thread_concurrencyとか 計測してみました
innodb_thread_concurrencyとかでこんなことを書きました。
・innodb_thread_concurrency InnoDB の処理を同時に実行できるスレッド数の上限値
・MySQL 5.0.8 [...]
InnoDB vs MyISAM パフォーマンス測定環境
毎回書くのは面倒なのでこちらにパフォーマンス測定の環境をまとめます。
サーバ環境
HP DL350
Linux version 2.6.9-5.ELsmp (bhcompile@decompose.build.redh [...]
InnoDBとMyISAMどっちが速いか? 自分で試してみました(続き)
前回からの続きで、InnoDBとMyISAMのパフォーマンス測定を続けています。
同一の環境で、同時スレッドを64,128,192,256,512と変えながら1秒間のクエリー処理数を計測しました。
初期化パラメータは前回 [...]
InnoDBとMyISAMどっちが速いか? 自分で試してみました
InnoDBとMyISAMどっちが速いか?の続きです。
人の結果を見ているだけなのもなんなので、自分で試してみました。
計測用ツールはMySQL Performance Blogからダウンロードして、ほぼそのまま利用しま [...]
InnoDBとMyISAMどっちが速いか? 続き
まずpreadのことですが、
MyISAMの場合、インデックスはキャッシュされますが、データはキャッシュされません。
そのためデータの読み込みがボトルネックになるということです。
ただし、MySQL5.1.4からはmma [...]
InnoDBとMyISAMどっちが速いか?
MySQLパフォーマンスBlogに
InnoDB vs MyISAM vs Falcon benchmarks
というエントリィがあったのでチェック?してみました。
検証環境は
-------------------- [...]
SQL_CALC_FOUND_ROWS
MySQL 行カウント SQL_CALC_FOUND_ROWS の効果
という計測結果がありました。
60000件のデータを入れたITEMテーブルに対して
PLAIN TEXT
SQL:
SELECT SQL_C [...]
記事へinnodb_thread_concurrencyとか
OSDL DBT-1 (ODBC版) による MySQL 5.0 性能測定 CPU 構成の差異による特性の分析と考察 Intel Xeon デュアルコア編 (長い!)
OSDL DBT-1 (ODBC版) による MyS [...]
DBT-3によるMySQL5.0.26の測定結果に関する考察 で気になったこと
DBT-3によるMySQL5.0.26の測定結果に関する考察
というIPA OSSセンターのMySQLのパフォーマンス測定記事を読んでいて気になったことです。
Load前にINDEXを作成すべき
MySQLではインデック [...]




