データベースに関して最もよく聞かれる質問の 1 つは、現在のビジネス ニーズを満たす MySQL のストレージ エンジンをどのように選択するかということです。MySQL は多くのストレージ エンジンをサポートしていますが、それらはどのようなもので、どのようにエレガントに使用すればよいのでしょうか。 エンジンを分割する理由 ファイル システムでは、MySQL は各データベース (スキーマとも呼ばれます) をデータ ディレクトリの下のサブディレクトリとして保存します。テーブルを作成すると、MySQL はテーブル定義を保存するために、データベース サブディレクトリにテーブルと同じ名前の .frm ファイルを作成します。たとえば、DebugTable という名前のテーブルを作成すると、MySQL はテーブル定義を DebugTable.frm ファイルに保存します。 MySQL はデータベースとテーブルの定義を保存するためにファイル システムのディレクトリとファイルを使用するため、大文字と小文字の区別はプラットフォームに依存します。 Windows システムでは、大文字と小文字は区別されませんが、Unix 系システムでは大文字と小文字が区別されます。異なるストレージ エンジンはデータとインデックスを異なる方法で保存しますが、テーブル定義は MySQL サービス レイヤー wk で均一に処理されます。 サポートエンジンを表示 MySQL でサポートされているエンジンを確認するには、次のコマンドを使用します。 エンジンを表示します。 結果は以下のとおりです(MySQLバージョン:Ver 8.0.19): mysql> エンジンを表示します。 +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | エンジン | サポート | コメント | トランザクション | XA | セーブポイント | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | FEDERATED | NO | フェデレーテッド MySQL ストレージ エンジン | NULL | NULL | NULL | | メモリ | はい | ハッシュベース、メモリに保存、一時テーブルに便利 | いいえ | いいえ | いいえ | | InnoDB | デフォルト | トランザクション、行レベルのロック、外部キーをサポート | はい | はい | はい | | PERFORMANCE_SCHEMA | YES | パフォーマンス スキーマ | NO | NO | NO | | MyISAM | はい | MyISAM ストレージ エンジン | いいえ | いいえ | いいえ | | MRG_MYISAM | YES | 同一の MyISAM テーブルのコレクション | NO | NO | NO | | BLACKHOLE | はい | /dev/null ストレージ エンジン (書き込んだものはすべて消えます) | いいえ | いいえ | いいえ | | CSV | はい | CSV ストレージ エンジン | いいえ | いいえ | いいえ | | アーカイブ | はい | アーカイブ ストレージ エンジン | いいえ | いいえ | いいえ | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ セット内の行数は 9 です (0.00 秒) ストレージエンジンの分類 MySQL ストレージ エンジンは、MyISAM、InnoDB、Memory、Merge などに分類されます。サポートされているエンジンは上記の表に記載されていますが、最もよく使用されるエンジンは MyISAM と InnoDB です。上記のストレージ エンジンについては、次の表で比較します。 MyISAM と InnoDB の違い 2 つのタイプの主な違いは、InnoDB がトランザクションと外部キーおよび行レベルのロックをサポートしていることです。
アプリケーションシナリオ
上記はMySQLストレージエンジンの選択の詳細です。MySQLストレージエンジンの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
Navicat で MySql スケジュールタスクを作成する詳細な説明イベントは、MySQL が特定...
1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...
動的な列を実現するための Angularjs ループ オブジェクト プロパティ利点: オブジェクトを...
導入Binlog ログ、つまりバイナリ ログ ファイルは、データベースに対するユーザー操作の SQL...
Alibaba Cloud ホストを購入したばかりで、その速度を試すのが待ちきれませんでした。しか...
今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...
序文ある日、突然 MySQL の次のキー ロックについて尋ねられ、私の即座の反応は次のようなものでし...
目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...
W3Cschoolではこのように説明しています<meta> 要素は、検索エンジン向けの説...
序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...
Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...
より良いスクロールの原則親コンテナーであるため、ラッパーの高さはコンテンツのサイズに応じて増加します...
以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...
1. CentOS Linuxにffmpegをインストールする1.ダウンロードして解凍する http...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...