序文 MySQL は、myisam、innodb、memory、archive、example など、多くの種類のテーブル (つまり、ストレージ エンジン) をサポートしています。各ストレージ エンジンにはそれぞれ長所と短所があります。各ストレージ エンジンを十分に理解することで、それらを適切に使用できるようになります。同じデータベースで複数のストレージ エンジンを使用するとパフォーマンスに大きな影響が出ると考える人もいます。実際、これはまったく間違った考えです。実際、非常に単純なデータベースでない限り、1 つのストレージ エンジンのみを使用することは、アプリケーションのパフォーマンスにとって非常に悪い動作です。データベースを理解している人は、各テーブルのさまざまな機能に基づいて適切なストレージ エンジンを選択します。これが正しいアプローチです。 先ほども述べたように、MySQL には多くのストレージ エンジンがありますが、私が個人的に仕事で最もよく使用するストレージ エンジンは 2 つあります。1 つは InnoDB、もう 1 つは MyISAM です。ここでは、これら 2 つのストレージ エンジンについて説明し、それらの違いを比較します。 1. マイISAM MyISAM は現在、MySQL のデフォルトのストレージ エンジンです。テーブルの作成時にテーブル タイプを指定しない場合、MySQL はデフォルトで MyISAM を使用します。 MyISAM には、多くの人が非常に重要だと考えているが、役に立たないと思う機能があります。それは、MyISAM がオペレーティング システムからの独立性を表すという機能です。簡単に言えば、MyISAM テーブルを Windows から Linux へ、または Linux から Windows へ簡単に移行できます。これは確かに利点ですが、一定期間 1 つのオペレーティング システムを使用することを決定した後で、サーバーのオペレーティング システムを変更するほど愚かなテクニカル ディレクターがいるでしょうか。したがって、この利点には実質的な意味はないと思います。 MyISAM ストレージ エンジンは、MySQL コンポーネントの非常に重要な部分です。MySQL では、静的、動的、圧縮の 3 種類の MyISAM 形式テーブルを作成できます。形式を別途指定する必要はなく、MySQL はテーブル構造に基づいて最も適切な形式を自動的に選択します。 1. MyISAM 静的 テーブル内の各フィールドのデータ型定義が静的 (char など) である場合、MySQL は自動的に静的 MyISAM 形式を使用します。この形式のテーブルのパフォーマンスは非常に高く、クエリと更新にかかる時間は非常に短くなりますが、スペースを犠牲にする必要があることに注意してください。各列に最大スペースが割り当てられるため、スペースの一部が使用されていない場合でも、静的テーブルがより大きなスペースを占有することになります。 2. MyISAM ダイナミクス テーブル内の各フィールドのデータ型定義が動的 (varchar など) である場合、MySQL は自動的に動的 MyISAM 形式を使用します。このタイプの形式のテーブルのパフォーマンスは低下しますが、スペースの占有量は静的なテーブルよりもはるかに少なくなります。 3. MyISAM 圧縮 読み取り専用に設計されたテーブルがある場合は、MyISAM を使用してテーブルを圧縮できます。同じ構成では、パフォーマンスが最も速くなります。 2. バイナリ InnoDB は、デフォルトでトランザクションをサポートするトランザクション ストレージ エンジンです。そのため、銀行関連のプロジェクトなど、データの整合性に対する要件が高いプロジェクトでは、InnoDB がストレージ エンジンとして使用されます。 InnoDB では行レベルのロックも導入されています。その他のテーブル タイプはすべて完全にロックされます。つまり、ユーザーがテーブル内の自分の行の特定の情報を変更したい場合、データベースはまずテーブル全体をロックし、他のユーザーはこのテーブルを操作できなくなります。これが完全なテーブル ロックです。行レベルのロックは異なります。変更する行のみがロックされます。つまり、他の人はテーブルを操作できますが、ロックされた行のデータを操作することはできません。メリットは明らかです。より高速で、複数の同時更新要求を処理するのに特に適しています。 InnoDB では外部キー制約も導入されています。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Ubuntu20.04 VNCのインストールと設定の実装
概要リレーショナル データベースでは、インデックスは、データベース テーブル内の 1 つ以上の列の値...
プロジェクトシナリオ: Dark Horse Vueプロジェクト管理の実践、製品分類の取得、拡張バー...
IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...
質問Alibaba Cloud イメージを使用して Docker をインストールすると、次の図に示す...
では早速、コードをお見せしましょう。具体的なコードは次のとおりです。 #!/bin/bash cd ...
目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...
目次序文: 1. 役割の紹介2. 役割に関連する操作要約:序文:前回の記事では、MySQLの権限管理...
MySQL は人気のオープンソースデータベース管理システムとして多くのユーザーが利用しています。デー...
** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...
123WORDPRESS.COM では、FileZilla のダウンロード リンクを提供しています:...
以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...
目次1. 基本を理解する2. システム環境を確認する3. ftpコマンドをインストールする[オプショ...
パート3: ❤バックエンドデータ受信を見落とす3つの方法❤ (おすすめ集)パート 2: Web フォ...
Web 開発の世界では、フレームワークは非常に一般的です。新しいフレームワークやテンプレートが毎日の...
1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...