タグ

実行計画に関するphakchi0830のブックマーク (2)

  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
  • 実行計画??統計情報??って人へ - Qiita

    はじめに 新人研修でSQLがカリキュラムに組み込まれている場合、ほとんどがSQLの構文のみをスコープとしていて、RDBMSのアーキテクチャまで踏み込むことは少ないと思います。 記事では、SELECT、INSERT、UPDATE、DELETEしか教わってないけど、現場に配属されてたら「実行計画を取ってゴニョゴニョ」「あ~統計情報が古いから取り直してゴニョゴニョ」みたいな依頼をされた人へ向けて、超簡単に説明します。 ※RDBMSの世界は奥が深いのでここでは概要のみに留めます。 RDBMSの基的なアーキテクチャ RDBを使った開発では、ほとんどの現場でOracleSQL Server、MySQLDB2、PostgreSQLあたりが利用されています。これらのDBのアーキテクチャは、細かな違いこそあれど基的なところは同じだったりします。 今回は、「実行計画??統計情報??って人へ」というこ

    実行計画??統計情報??って人へ - Qiita
  • 1