データベースに関して最もよく聞かれる質問の 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の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...
この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...
フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...
目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...
目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...
1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...
最近、仕事で問題に遭遇しました。グローバル変数 red_heart があります。これは多くの場所で使...
目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...
達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...
背景下のようなリストでは、削除ボタンをクリックすると削除操作を実行する必要があります。 リスト生成:...
目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...
1. はじめにMySQL グループ レプリケーション (略して MGR) は文字通り MySQL グ...
今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...
バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...
目次双方向データバインディングとは双方向データバインディングの実装データ影響ビュービューはデータに影...