mysql

read_rnd_buffer_size

read_rnd_bufferはEXPLAINしたときにALLのときにしか使われないので、大きめに取るのは無駄。 ウェブのバックエンドとして使うときなどは大きな表に全表探索が走っている時点で負けなので、大きくても1MB程度でいいのではないだろうか。

Monty says: The Maria engine is released

InnoDBに代る新しいストレージエンジンが追加されるとのこと 名前の由来は Q: Why is the engine called Maria? A:Monty, the creator of MySQL, named MySQL after his first child 'My'. His second child, Max, gave his name to MaxDB and the MySQL-Max…

Sun Buys MySQL - Slashdot

なーにー!SunがMySQLを買収とな! Oracleの切り崩しにあっていたので、身売りもとは聞いていたが、よもやSunとは。OracleやPostgreSQLとの関係もあって本当にMySQLに専念してくれるか疑わしいな。

コスいチューニング

全く本質的でなく効果も小さいものばかりだけど、最後のひと絞りにどうぞ。 Hardware HT無効 今時サーバでNetBurstもないだろうけど、使っているなら切った方が速い。並列実行度が高くなるには違いないが、spin lockとHTは相性がよろしくないし、そもそもNet…

Managing Slave Lag with MySQL Replication - Percona Database Performance Blog

MySQLのレプリケーションラグについての文章。翻訳して載せようかとも思ったけど、わりと当たり前の事ばかりだったので省略。 本文でも繰り返し出てくるように、MySQLのレプリケーションの実装は2スレッドで出来ている。1つはbinlogをマスタから取ってくるス…

MySQL conferenece

行ってきた。 印象に残ったセッションはCyberAgentの人がソースコードの読み方と3分間ハックの方法を紹介していたのと、InnoDBのチューニング話。 CAと言えば社長がblogで香ばしい事を言っていたのでロクなエンジニアが居ないのではないかと思っていたが、今…

Coming soon: High Performance MySQL, Second Edition

O’Reillyから出ている実践ハイパフォーマンスMySQLの次の版が出るらしい。 パフォーマンスチューニングの定番本とはいえ、今の版は5.0が正式に出る前に書かれたため内容面でやや記述が古くなってきているので、これは期待。翻訳版を待つとか悠長なこと言って…

MyISAMとkey_buffer

Innodbが十分に安定している今敢えてMyISAMを選択する理由はあまり無いのだけど、ここしばらく苦しめられた思い出として記録する MyISAMとキャッシュ MyISAMではデータとインデックスがそれぞれ別の方式でキャッシュされる。データはOS自身が持っているペー…

実践ハイパフォーマンスMySQL

実践ハイパフォーマンスMySQL作者: ジェレミ・D.ザウドニ,デレク・J.ベリング,Jeremy D. Zawodny,Derek J. Balling,林秀幸出版社/メーカー: オライリージャパン発売日: 2004/10メディア: 単行本購入: 9人 クリック: 239回この商品を含むブログ (53件) を見る…

MySQL使いがOracleを使ったときのカルチャーショック

というほどでもなく、まぁオペレーション上感じた相違点など SQLの構文で違うところがある 最初に驚いたのはLIMIT句。あれってOracleではないんですね。PostgreSQLでも使えていたからSQL標準だとばかり思っていた。SQL標準だそうですが、サポートしているRDB…

InnoDBのflush_methodによる違い

パラメータで言うとinnodb_flush_method っていう奴。 ようはトランザクションログなどをディスクに反映するときにfsync(2)を使うか、そもそもファイルをopen(2)するときにカーネルのバッファをバイパスするようなオプションを使うかの違い。デフォルトだとf…

MyISAMとInnoDBの違い

皆さん結構悩んでいるようなので、MyISAMとInnoDBの相違点を表にしてみた。だけど、表にするほど単純な話ではないですね、本当は。 MyISAM InnoDB ロック テーブルレベル 行/テーブルレベル トランザクション なし ACIDトランザクションをサポート キー圧縮 …

クエリキャッシュの効果

なんかやけにこのネタを引っぱっている気もするが、データが採れたので恐らくこれで最後。 MySQLに対して、sysbenchで単純なSELECTの実行速度を測ったもの。 データはそれぞれクエリキャッシュ無効のとき、クエリキャッシュを有効にしたがキャッシュにはヒッ…

クエリキャッシュ周りの実装を読む

クエリキャッシュを有効にしたときのペナルティ、主にキャッシュ内のルックアップ処理がどうなっているのか気になったのでソースを読む。 この機能が含まれるソースはlibmysqld/sql_cache.cc とその周辺。 ソースの先頭にクエリキャッシュで使うデータ構造や…

MySQL Query Cache and prepared statements - support comming ?

prepared statementを使ったときにquery cacheが効かないという制限が5.1から解除されるかもという話。 実際、query cacheに頼っている状況はそもそも設計が悪いと思うけど、チューニングの最後の一手として使えるのは心強いかも。5.1系は開発機も含めて身近…

MySQL scalability on Linux with sysbench

Linuxのkernel関係者を恐怖のどん底に陥れたSMP環境でのMySQLのスケーラビリティ問題はなんと、まぁ、malloc(3)のスケーラビリティ問題が原因だったとは。 いやー、実際公表されていたデータでもユーザ空間でのIdleが多すぎだからカーネルの問題というよりは…

MERGE tableへのクエリ

実環境でクエリが実行されている様子を眺めていたら、MERGE tableへのクエリは各々のテーブルに対してクエリが走った後、temporary tableを使って結果を結合しているみたいだ。これは使いどころを間違えるとtemp tableを馬鹿喰いしたりで、結構パフォーマン…

Prepared statementを使うとQuery cacheが効かない

4.1の日本語化されたマニュアルばかり読んでいたらこの動作への言及が無かったため見落していたが、5.0に対応したオリジナルである英語版にはちゃんと注意が書いてあった。 道理ででnot_cachedばかりが増えていくわけだ。それだけコード側でのprepared state…

現場で使える MySQL (DB Magazine SELECTION)

現場で使える MySQL (DB Magazine SELECTION)作者: 松信嘉範出版社/メーカー: 翔泳社発売日: 2006/03/17メディア: 単行本購入: 9人 クリック: 103回この商品を含むブログ (45件) を見るDBA周りだけ読んだ。DB Magazineの連載をまとめたものらしく変なところ…

InnoDBを使うときのパフォーマンスチューニング

ストレージエンジンとしてInnoDBを使うときはMyISAMのときと触るべきポイントが違うので注意。 http://www.mysqlperformanceblog.com/files/presentations/OSCON2004-MySQL-Innodb-Performance-Optimization.pdf を読みながら取ったメモ。状況としてはRedHat…

MySQLのパラメータ調整

先日和訳したTipsの元のドキュメントを見に行ったら項目毎に整理されていた。パラメータの項目については直接記述するのではなく外部のドキュメントを参照するようになっていたので、そちらも翻訳した。 http://docs.cellblue.nl/easy_mysql_performance_twe…

count(*)を使わない行数の数え方

例のTipsの72番にCOUNT(*)を使わないことというのが有った。代替案として挙げられていた方法が初耳だったので、調べてみた。 なんでもSELECTのオプションにSQL_CALC_FOUND_ROWSというのが新設されて(4.0以降)、それを使うと良いらしい。 mysql> select SQL_C…

MySQL全機能リファレンス

MySQL全機能リファレンス作者: 鈴木啓修出版社/メーカー: 技術評論社発売日: 2004/11メディア: 単行本購入: 2人 クリック: 135回この商品を含むブログ (23件) を見る昨日MySQLのエントリーを書いたからってわけじゃないけど、最近この本を読んでいる。 全機…

MySQLのTips

http://forge.mysql.com/wiki/Top10SQLPerformanceTipsというのがあったので、和訳してみる。 (11/23 追記)id:pekeqさんとsodaさんのコメントを受け一部更新 (4/27 追記と修正)id:hirose31さんの指摘を受け修正。あと元のサイトが構成変更していたので追従 …