Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7270

「MySQL 5.7入門 SQLチューニング編」に行ってきた! その2

$
0
0
5月30日

【MySQLについてきちんと勉強したい方必見!】MySQL 5.7入門 SQLチューニング編
https://www-jp.mysql.com/news-and-events/events/mysql-for-beginners-sql-tuning-edition-ja/

に行ってきた!ので、その内容をメモメモのつづき(=その1のつづき)


■MySQL5.7入門(SQLチューニング編)- つづき

オプティマイザ詳細解説
・コストベースオプティマイザー
    ・論理的な変換
    ・準備
    ・コストベース最適化
    ・最終調整

 論理的変換
  否定の除去
  展開
  定数式の評価
  不要な条件の除去

 コスト
 リソース使用量
 単一クエリ=関連性は考えない

 統計情報
  5.5以前は統計情報は永続化されていない
  analyze tableを実行

 コストの見積もり
  コスト定数も変更できる
  →最新のハードウェア

 パフォーマンススキーマから、IO速度調査できる

・アクセス方法の選択
 主キー、ユニークキー constになる
 他 複数 ref

 Rangeスキャン
  オプティマイザトレースで範囲確認できる
  後方一致はインデックス使えない。

 インデックスマージ

 Handlerステータス変数について

 インデックス・コンデション・プッシュダウン


・JOIN
 Join順番の精度上がった
 小さいものから
 Visual Explainで確認
 あとのテーブルを評価してなかったけど、5.7ではそこも

・サブクエリー
 実は細かい話があるけど、内部的に勝手にされる話

・ソート処理、集計結果
 ファイルソートを避ける→インデックス
 リミット句
 内部的にソートが何回されたか

・集計クエリ
 参考情報として確認してね

・INに複数列
 最適化される

 クエリーリライトプラグイン
  MySQLサーバー側でクエリ書き換え



■SQLチューニングにも役立つ
 MySQL Enterprise Monitorのご紹介

・前のセッションで、大変そうだけど
 スローログ
 sys.statement_analysis
 イベントヒストリで確認することもできる

・これから紹介するのは
 複数台サーバーを包括的にする方法

・ファイルソート:ファイルとメモリ両方の場合
 スローログでわかりにくいもの

・自己紹介

・5.7 10月 全文検索を高速、JSON
・DBはコミュニティ版と商用版一緒

Enterprise Edition
・Enterprise Monitor
 アドバイスしてくれる機能

・問題が発生する前に通知

・ワークベンチとEnterprise Monitor
  →ためられる

・ベストプラクティスアドバイザ
  →パラメータあってるか、トライアルで確認する手も

・クエリアナライザー
  なにで遅くなったか、解析できる
  →スローログと比べて

・問題のあるクエリ実行プランを確認

・時系列パフォーマンスグラフ

・I/O大量発生
  インデックスが最適化されていないケース
  unused index

・Lock待ちの確認、プロセスの確認 show process List

・InnoDBバッファプールの利用状況

・レプリケーションモニター
  トポロジーを見れる

(参考)Workbench
 →中期的には、Workbench以外も・・

技術サポート
・見つけた内容を、どうチューニングする?
  →楽ではない
・物理サーバーごと
  →仮想環境:パブリッククラウドについては営業に

・Oracle製品との連携
  GoldenGate使える
  EnterpriseManagerと統合できる

・セキュリティ対策

Viewing all articles
Browse latest Browse all 7270

Trending Articles