P186 パフォーマンススキーマとインフォメーションスキーマ

[パフォーマンススキーマ]
・5.5より導入されている機能
・パフォーマンスデータの取得が目的(DTraceやSystemTap等で得れる情報)
・mysqld内部でコードを実行するたびに取得される

[インフォメーションスキーマ(情報スキーマ)]
・5.0より導入されている機能
メタデータの取得が目的(各種SHOWコマンドで得れる情報)
・インフォメーションスキーマにアクセスしたタイミングで取得を行う

P162 InnoDBモニターの有効化方法の変更(5.7新機能)

[MySQL5.6上でInnoDBロックモニターを有効化する方法]

CREATE TABLE innodb_lock_monitor (a int) ENGINE INNODB;

なお、offにするにはDROP TABLEするか、MySQLサーバーを再起動する事である。

[MySQL5.7上でInnoDBロックモニターを有効化する方法]

SET GLOBAL innodb_status_output_locks = ON;
SET GLOBAL innodb_status_output = ON;

1行目が出力される情報をInnoDBロックモニターのものにするかどうかで、ONはInnoDBロックモニター、OFFはInnoDBモニターを指す。このオプションを有効にすると、エラーログに記録されるものだけではなく SHOW ENGINE INNODB STATUSの出力も InnoDB ロックモニターのものへと変わる。
2行目で実際にInnoDBロックモニターを有効化している。

InnoDBロックモニターは出力されるデータサイズが大きいため、常用はおすすめしない。
また、MySQL5.7ではInnoDBロックモニターよりも便利なInnoDB Metricsや情報スキーマ、パフォーマンススキーマがあるためInnoDBモニターの出番は少ない。

P79 オプティマイザトレース

EXPLAINコマンドは実行計画を知るうえでは必須かつ標準的な方法である。
しかし、オプティマイザが最終的に選択した実行計画についてのみであり、どのような過程で最適化やコスト計算、あるいは実行計画の比較が行われたかは分からない。
オプティマイザトレースは、どの様な過程でオプティマイザが実行計画を判断したのかを分かるための機能である。

P75 実行中のクエリに対するEXPLAIN(5.7新機能)

例) SHOW FULL PROCESSLISTなどで調べた対象のセッションのコネクションIDが777に対してEXPLAINする場合

EXPLAIN FOR CONNECTION 777

P70 worldサンプルデータベース

MySQLが公式に提供しているサンプルデータベース
勉強用などに利用する際に用いれる。

http://dev.mysql.com/doc/index-other.html

P2 MySQLの特徴

[実装されている主な機能]
ANSI SQL標準に準拠(但し、一部の文法は除く)
・ストレージエンジン
・ACID準拠のトランザクション(ストレージエンジンによる)
・XAトランザクション
・非同期あるいは準同期のレプリケーション
・水平パーティショニング
・ストアドプロシージャ/ストアドファンクション/トリガー
・イベントスケジューラー
SSLによる通信
JSON型のサポート
・NoSQLアクセス
・日本語全文検索

[実装されていない主な機能]
・ウインドウ関数
・CHECK制約
・WITH句(Maria DBではSQL-99準拠なので実装しているっぽい)
・ソートマージJOIN、ハッシュJOIN(ネステッドループJOINのみサポート)

P4 商用版MySQLサーバー

[商用版MySQLサーバーに向いている用途]
・追加のプラグインを使いたい
・モニタリングやバックアップのツールを使いたい
・オフィシャルなサポートが欲しい
・GPLv2でないライセンスでMySQLをバンドルしたい

[商用版サーバーに付属しているプラグイン]
MySQL Enterprise Security
 ・MySQL Enterprise Authntication(外部認証)
 ・MySQL Enterprise TDE(Tranparent Data Encryption)
 ・MySQL Enterprise Enterprise Encryption(非対称暗号化)
 ・MySQL Enterprise Firewall(SQLインジェクション対策)
 ・MySQL ENterprise Audit(監査ログ取得)
MySQL Enterprise Scalability
 ・スレッドプール