MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景

mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テーブルであり、インデックスがありません。

アクセスを高速化するためにインデックスを追加したいのですが、csv エンジンではインデックスを追加できません (csv エンジンはコンマで区切られたテキストを保存します)。そのため、インデックスを追加するにはストレージ エンジンを変更することしかできません。

mysql.slow_log テーブルは myisam に変更できるが、innodb には変更できない

mysql> グローバル slow_query_log をオフに設定します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysql> テーブル mysql.slow_log を変更します。engine=innodb;
エラー 1579 (HY000): このストレージ エンジンはログ テーブルには使用できません。
mysql> テーブル mysql.slow_log を変更します。engine=myisam;
クエリは正常、33760 行が影響を受けました (0.37 秒)
レコード: 33760 重複: 0 警告: 0

mysql.general_log を innodb に変更することはできません

mysql> テーブル mysql.general_log を変更します。engine=myisam;
クエリは正常、242956 行が影響を受けました (2.41 秒)
レコード: 242956 重複: 0 警告: 0

mysql> テーブル mysql.general_log を変更します。engine=innodb;
エラー 1579 (HY000): このストレージ エンジンはログ テーブルには使用できません。

公式ドキュメント

公式ドキュメントによると、ログ テーブルは CSV エンジンと MyISAM エンジンのみをサポートします。

なぜ innodb エンジンをサポートしないのですか?

InnoDB テーブルをサポートしないと考える根拠は何ですか?

友人に聞いた

ログ テーブル エンジンは、REDO および UNDO リソースを大量に消費すると思われます。

これは必要ありません。 。 。これらのデータは重要ではありません。 。

変更ログテーブルストレージエンジン

@old_log_state を @@global.general_log に設定します。
グローバル general_log を 'OFF' に設定します。
ALTER TABLE mysql.general_log ENGINE = MyISAM;
グローバル general_log を @old_log_state に設定します。

アーカイブログテーブル

mysqlを使用します。
general_log2 が存在する場合はテーブルを削除します。
general_log2 テーブルを作成します。
テーブル general_log の名前を general_log_backup に、general_log2 の名前を general_log に変更します。

参照する

一般クエリログとスロークエリログの出力先の選択

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL ストレージエンジン InnoDB の設定と使用方法の説明
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQL InnoDB ストレージ エンジンの詳細
  • MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明
  • MySQLデータベースエンジンをInnoDBに変更する

<<:  Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

>>:  Linux ファイル操作でよく使われるコマンドのまとめ

推薦する

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

ローカル写真をアップロードする前にプレビューコード例を実装するための HTML5 と jQuery

HTML5 と jQuery はアップロード前にローカル画像のプレビューを実装しており、その効果は...

シンプルなウェブ計算機を実装するJavaScript

背景私は新しいプロジェクト チームに配属されたので、プロジェクトでは js を使用する必要があります...

openlayers6のマップオーバーレイの詳細な説明

1. オーバーレイの概要オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指しま...

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

html 内の絶対パス URL と相対パス URL、サブディレクトリ、親ディレクトリ、ルート ディレクトリ

絶対 URL は、インターネット上の特定のファイルに必要なすべてのコンテンツを表すために使用されます...

プライベートレジストリ内の画像を照会または取得する方法

Dockerはプライベートレジストリ内のイメージを照会または取得するために、 docker 検索 1...

0.1秒の価値!フロントエンドのウェブページの高速化の問題について簡単に説明します

私が現在の仕事の面接を受けたとき、リーダーが真剣にこう言っていたのを覚えています。「今の世の中はイン...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

MySQL GTID の総合概要

目次01 GTIDの紹介02 GTIDの仕組み03 GTIDの利点と欠点04 テスト環境構築05 テ...

クールな充電アニメーションを実現する純粋なCSS

CSS のみを使用してどのような充電アニメーション効果を作成できるかを見てみましょう。バッテリーを...

初心者向けWebサイト構築ガイド⑥:FlashFXPの詳しい使い方

今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...

負の距離(共感) - 相互影響の反復プロセス

ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...

HTML の doctype とエンコーディングに関する簡単な説明

文書タイプDoctype は、指示を解析するためにどのバージョンの HTML を使用するかをブラウザ...