【MySQL】EXPLAIN ANALYZEで実測値を確認するMySQLでクエリの実行計画とあわせて実際の実行時間を確認するにはEXPLAIN ANALYZEを使う。MySQL 8.0.18以降で利用できる。DATABASE 2026-08-23 2026-08-23
【MySQL】EXPLAINの読み方の基本MySQLでクエリの実行計画を確認するにはEXPLAINを使う。 type・key・rows・Extraの意味を理解すると、インデックスが効いているかどうかを判断できる。DATABASE 2026-08-23 2026-08-23
【MySQL】デッドロックのログの読み方MySQLでデッドロックが発生すると、SHOW ENGINE INNODB STATUSのLATEST DETECTED DEADLOCKに直近の詳細が記録される。 継続的に記録するにはinnodb_print_all_deadlocksを有効にし、エラーログに全件を残す。DATABASE 2026-08-23 2026-08-23
【MySQL】SHOW PROCESSLISTで実行中クエリとロック待ちを確認するMySQLで実行中のクエリを確認するにはSHOW PROCESSLISTを使う。 ロック待ちの詳細を調べるにはinformation_schema.innodb_trxやsys.innodb_lock_waitsとあわせて確認する。DATABASE 2026-08-22 2026-08-22
【MySQL】performance_schemaで重いクエリを特定するMySQLで実行されたSQL文ごとの実行回数・実行時間を集計するには、performance_schema.events_statements_summary_by_digestを使う。 sys.statement_analysisを使うと、単位が読みやすく整形された形で同様の情報を確認できる。DATABASE 2026-08-21 2026-08-21
【MySQL】スロークエリをログに出力するMySQLで実行時間の長いSQL文をログに出力するには、slow_query_log・long_query_timeを設定する。 インデックスを使わないクエリまで対象を広げる場合はlog_queries_not_using_indexesもあわせて使う。DATABASE 2026-08-21 2026-08-21
【MySQL】innodb_buffer_pool_sizeと各種バッファの役割・確認方法MySQLのメモリも、PostgreSQLと同様に全接続で共有する領域と、接続ごとに確保する領域へ大別できる。 innodb_buffer_pool_sizeは前者、sort_buffer_size・join_buffer_sizeは後者を制御するパラメータである。DATABASE 2026-08-21 2026-08-21
【MySQL】接続数の上限と現在の接続数を確認するMySQLで同時接続数の上限や現在の接続状況を確認するには、max_connections・Threads_connected・Max_used_connectionsを使う。DATABASE 2026-08-21 2026-08-21
【MySQL】各データベースのサイズを確認するMySQLには、PostgreSQLのpg_database_size関数のようにデータベースのサイズを直接返す関数はない。 information_schema.tablesのDATA_LENGTH・INDEX_LENGTHカラムを集計してサイズを求める。DATABASE 2026-08-20 2026-08-20
【MySQL】my.cnfの場所を探すMySQLの設定ファイルmy.cnfはOSやインストール方法によって場所が異なる。 PostgreSQLのshow config_file;のように設定ファイルの場所を直接返すSQL文はなく、SHOW VARIABLESにも該当する項目はない。 稼働しているMySQLの設定ファイルの場所を確認するには、mysqldコマンドの探索順表示や--print-defaultsオプションを使う。DATABASE 2026-08-20 2026-08-20