実行計画の操作の内容一覧 パフォーマンスチューニングマニュアルや tkprof などの実行計画の読み方に記載されているものは誤字と記載漏れらしきものがそこそこあった。 マニュアルに記載されている以外にもステートメント自体のオペレーター、メモリ内ソートや WINDOW 操作など多くのオペレーターとオプションがあり、ネット上で調べた範囲では 合計で 約 200 以上ある。 パフォーマンスチューニングマニュアルに記載されている一覧+独自補足 結合処理に関する実行計画
実行計画の操作の内容一覧 パフォーマンスチューニングマニュアルや tkprof などの実行計画の読み方に記載されているものは誤字と記載漏れらしきものがそこそこあった。 マニュアルに記載されている以外にもステートメント自体のオペレーター、メモリ内ソートや WINDOW 操作など多くのオペレーターとオプションがあり、ネット上で調べた範囲では 合計で 約 200 以上ある。 パフォーマンスチューニングマニュアルに記載されている一覧+独自補足 結合処理に関する実行計画
サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク本部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日本語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基本的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。
今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。 インデックスを利用しないクエリで最もよく見かけるもののひとつは、ORDER BYを用いたソート処理だろう。もし、ソート処理においてインデックスを用いることが出来れば、MySQLは結果を抽出してから結果行をソートするのではなく、インデックス順に行を取り出せば良いので高速にソート処理することが可能になる。特に、LIMIT句やWHERE句を用いて行の絞り込みを行う場合は効果が絶大である。しかし、ひとたびインデックスを利用できない状況に直面すると、たちまちテーブルスキャンが発生して性能が劣化してしまう。 例えば、100万行のレコードを格納したt1というテーブルがあるとする。そのテーブルに対して以下のようなクエリを実行した場合を考えよう。 mysql> SELECT col1, col2 ... colx
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く