MySQLストレージエンジンについて学びましょう

MySQLストレージエンジンについて学びましょう

序文

日常生活には多くのファイル形式があり、異なるファイル形式には対応する保存方法と処理メカニズムがあります (例: .txt、.pdf、.mp4...)

異なるデータを保存するには、異なる処理メカニズムが必要です。

ストレージエンジンは異なる処理メカニズムです

1. MySQL メインストレージエンジン:

。イノDB

。マイサム

。メモリ

。ブラックホール

一つずつ見ていきましょう

'''
イノDB
これは、MySQL バージョン 5.5 以降のデフォルトのストレージ エンジンであり、より安全にデータを保存します。
'''
マイサム
これは、MySQL 5.5 より前のデフォルトのストレージ エンジンです。Innodb よりも高速ですが、データのセキュリティにさらに重点が置かれています。
'''
メモリ
メモリ エンジン (すべてのデータはメモリに保存されます) 電源障害とデータ損失'''
'''
ブラックホール
保存されたものはすぐに消えてしまいます(ブラックホールのように)
'''

すべてのストレージ エンジンの SQL ステートメントを表示します。

エンジンを表示します。

2. さまざまなストレージエンジンがテーブルを保存する方法の例

まず、別のデータベースを構築しましょう

データベース作成45日目

次にデータベースに切り替えます

day45を使用します。

4つの異なるストレージエンジンで4つのテーブルを作成する

テーブル t1(id int) を作成します。engine=innodb;

テーブル t2(id int) を作成します。engine=myisam;

テーブル t3(id int) を作成します。engine=blackhole;

テーブル t4(id int) を作成します。engine=memory;

4 つのテーブルを作成すると、データ ファイルの下に、異なるストレージ エンジンを持つ 4 つのファイルが表示されます。

t3 テーブルに t3.MYD テーブルのデータ ファイルがないのは、ブラックホール ストレージ エンジンがブラックホールのようなものだからです。 そこにファイルを投げ込むと消えてしまうため、ファイルにデータを保存するのは簡単ではありません。

t4 テーブルはメモリ ストレージ エンジンです。メモリに保存され、データの短期的なストレージです。ハード ディスクに保存するのは簡単ではありません。そのため、テーブル データ ファイルはありません。

次に、異なるストレージ エンジンの各テーブルにデータを挿入して、結果を確認します。

t1値に挿入する(1);

t2値に挿入する(1);

t3値に挿入する(1);

t4値に挿入する(1);

各テーブルのデータを個別にクエリすると、t3 はデータを保存しないことがわかります。これは、t3 がブラックホール ストレージ エンジンであり、保存されたデータはすぐに失われるため、選択時にデータがなくなるためです。この実験は今だけのものではありません。MySQL を再起動して各テーブルのデータを再クエリすると、新たな発見があるでしょう。

明らかに、t4 のテーブルにも、この時点では保存されたデータが存在しないことが示されています。なぜでしょうか?

t4 はメモリ ストレージ エンジンを使用するため、データは永続的ではなくメモリに保存されます。MySQL をシャットダウンして再起動すると、データは失われます。

これで、MySQL ストレージ エンジンの理解に関するこの記事は終了です。MySQL ストレージ エンジンに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL テーブルタイプ ストレージエンジンの選択
  • MySQL データ分析ストレージエンジンの例の説明
  • MySQLデータベースでサポートされているストレージエンジンの比較
  • MySQL のストレージ エンジンの違いと比較
  • 一般的なMySQLストレージエンジンの長所と短所

<<:  element.style インライン スタイルを変更する方法のチュートリアル

>>:  HTMLページをクリックしてダウンロードファイルを実装する2つの方法

推薦する

Linux での vi (vim) の新しい使い方のまとめ

私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...

LinuxソースコードからTIME_WAITの期間を分析する

目次1. はじめに2. まずLinux環境を紹介しましょう3. TIME_WAIT状態遷移図4. 継...

HTML フォームタグチュートリアル (3): 入力タグ

HTML フォーム タグのチュートリアル。このセクションでは、主に Web ページで INPUT タ...

DockerがMySQL構成実装プロセスを開始

目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

MySQL ビューの原則と使用例の概要

この記事では、MySQL ビューの原理と使用法についてまとめます。ご参考までに、詳細は以下の通りです...

フロントエンドページのポップアップマスクはページのスクロールを禁止します

フロントエンド開発者がよく遭遇する問題は、ユーザーに情報を提示するためのポップアップ ウィンドウを作...

Linux のプロセスクラッシュの原因をコアダンプ技術を使用して追跡する簡単な分析

最近、プロジェクトで問題が発生しました。サーバー側のプログラムが突然クラッシュして終了しました。クラ...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...

ネイティブ js カプセル化シームレスカルーセル機能

ネイティブjsカプセル化シームレスカルーセルプラグイン、参考までに、具体的な内容は次のとおりです。例...

CentOS6 アップグレード glibc 操作手順

目次背景glibc 2.14をコンパイルするソフトリンクを変更するやっと背景テスト環境には Cent...

Python スクリプトを Ubuntu で直接実行する方法

翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...

MySQL スロークエリ関連パラメータの原理の分析

MySQL スロー クエリ (正式名称はスロー クエリ ログ) は、MySQL によって提供されるロ...

Dockerコンテナを外部IPとポートにバインドする方法

Docker を使用すると、外部からコンテナにアクセスしたり、コンテナを相互接続したりすることで、ネ...

Docker Enterprise Edition を使用して独自のプライベート レジストリ サーバーを構築する

Docker は本当に素晴らしいです。特に、仮想マシンを使用する場合に比べて、Docker イメージ...