ホームページ データベース mysql チュートリアル MySQL にはストレージ エンジンがいくつありますか?

MySQL にはストレージ エンジンがいくつありますか?

Jan 22, 2019 pm 03:59 PM
mysql ストレージエンジン

次のコマンドを実行して、すべての mysql ストレージ エンジンを表示します [推奨チュートリアル: MySQL チュートリアル ]

MySQL にはストレージ エンジンがいくつありますか?

InnoDB ストレージ エンジン

InnoDB はトランザクション データベースに推奨されるエンジンであり、トランザクション セキュリティ テーブル (ACID)、行ロック、および外部キーをサポートしています。 InnoDB の主な機能は次のとおりです:

1. InnoDB は、コミット、ロールバック、およびクラッシュ回復機能を備えたトランザクションセーフ (ACID 互換) ストレージ エンジンを MySQL に提供します。 InnoDB は行レベルでロックし、SELECT ステートメントで Oracle のような非ロック読み取りも提供します。これらの機能により、マルチユーザーの展開とパフォーマンスが向上します。 SQL クエリでは、同じクエリ内であっても、InnoDB タイプのテーブルと他の MySQL テーブル タイプを自由に組み合わせることができます。InnoDB は、大量のデータを処理する際に最大のパフォーマンスを発揮するように設計されています。その CPU 効率は、他のディスクベースのリレーショナル データベース エンジンのロックに匹敵しない可能性があります。

3. InnoDB ストレージ エンジンは、MySQL サーバーと完全に統合されており、メイン メモリにデータとインデックスをキャッシュするために維持されます。 . 独自のバッファプール。 InnoDB は、テーブルとインデックスを論理テーブル スペースに配置します。論理テーブル スペースには、複数のファイル (または RAW ディスク ファイル) を含めることができます。これは、各テーブルが別個のファイルに保存される MyISAM テーブルとは異なります。 InnoDB テーブルは、ファイル サイズが 2GB

4 に制限されているオペレーティング システムであっても、任意のサイズにすることができます。 InnoDB は、テーブルにデータを保存するときに、各テーブルがプライマリに従って保存されます。シーケンシャル ストレージ。テーブル定義で主キーが指定されていない場合、InnoDB は行ごとに 6 バイトの ROWID を生成し、それを主キーとして使用します。

#5 InnoDB は多くの大規模なデータベースで使用されます。高いパフォーマンスを必要とする

InnoDB はサイトにディレクトリを作成しません。InnoDB を使用すると、MySQL は ibdata1 という名前の 10 MB の自動拡張データ ファイルと、ib_logfile0 および ib_logfile1 という名前の 2 つの 5 MB のデータ ファイルを MySQL データ ディレクトリに作成します。

MyISAM ストレージ エンジン

MyISAM は ISAM ストレージ エンジンをベースにしており、それを拡張しています。これは、Web、データ ウェアハウジング、その他のアプリケーション環境で最も一般的に使用されるストレージ エンジンの 1 つです。 MyISAM は挿入速度とクエリ速度が速いですが、トランザクションはサポートしていません。 MyISAM の主な機能は次のとおりです:

1. 大きなファイル (最大 63 ビットのファイル長) は、削除時と更新時に、ファイル システムおよびオペレーティング システムでサポートされます。また、動的なサイズの行を挿入すると、操作が混在する場合でも断片化が少なくなります。これは、隣接する削除されたブロックをマージすることによって自動的に行われ、次のブロックが削除された場合は、次のブロック

3 まで拡張されます。各 MyISAM テーブルのインデックスの最大数は 64 であり、変更を再コンパイルすることで達成できます。 。インデックスあたりの最大カラム数は 16

4 で、最大キー長は 1000 バイトです。これは、250 バイトを超えるキー長の場合、1024 バイトを超えるキーになります。使用されます

5。BLOB および TEXT 列にはインデックスを付けることができます。

6。この値は、各キーに対して 0 ~ 1 バイトを占有します。すべての数値キー値は、より高いインデックス圧縮を可能にするために最初に上位バイトに格納されます。

#8 各 MyISAM タイプのテーブルには AUTO_INCREMENT 内部列があり、この列は INSERT および UPDATE 操作中に更新されます。列が更新されます。したがって、MyISAM タイプのテーブルの AUTO_INCREMENT 列は、InnoDB タイプの AUTO_INCREMENT よりも速く更新されます。

9 データ ファイルとインデックス ファイルを別のディレクトリに配置できます。各文字列には異なる文字セットを含めることができます。

11. VARCHAR を含むテーブルには、固定レコード長または動的レコード長を含めることができます。

12. VARCHAR 列および CHAR 列は最大 64KB

を使用できます。 MyISAM エンジンによりデータベースが 3 つ生成されます。ファイルの名前はテーブル名で始まり、拡張子はファイルの種類です。frm ファイル格納テーブル定義、データ ファイルの拡張子は です。 MYD (MYData)、インデックス ファイルの拡張子。 MYI (MYIndex)

MEMORY ストレージ エンジン

MEMORY ストレージ エンジンはテーブル内のデータをメモリに保存し、他のテーブル データのクエリや参照を行わずに高速アクセスを提供します。 MEMORY の主な機能は次のとおりです:

1. 各 MEMORY テーブルには最大 32 個のインデックス、インデックスあたり 16 個の列、および最大キー長 500 バイトを含めることができます。エンジンは HASH および BTREE マイクロコズムを実行します

3。MEMORY テーブルには一意でないキー値を含めることができます

#4。MEMORY テーブルは固定レコード長形式を使用します

##。 #5、MEMORY は BLOB または TEXT 列をサポートしません

6、MEMORY は AUTO_INCREMENT 列と、NULL 値を含めることができる列のインデックスをサポートします

7、MEMORY テーブルはすべてのクライアント間で共有されます (つまり、他の非 TEMPORARY テーブルと同様に)

8. MEMORY テーブルのメモリは、クエリ中にアイドル状態になっているときに、MEMORY テーブルとサーバーによって作成された内部テーブルの間で共有されます。 process

9 。 MEMORY テーブルの内容が不要になった場合、MEMORY テーブルによって使用されているメモリを解放するには、DELETE FROM または TRUNCATE TABLE を実行するか、テーブル全体を削除する必要があります (DROP TABLE を使用)。

ストレージ エンジンの選択

MySQL にはストレージ エンジンがいくつありますか?

送信、ロールバック、およびクラッシュ回復機能のためのトランザクション セキュリティ (ACID 互換性) 機能を提供し、同時実行制御が必要な場合は、InnoDB が良い選択です

データ テーブルが主にレコードの挿入とクエリに使用される場合、MyISAM エンジンはより高い処理効率を提供できます。

データが一時的に保存されるだけの場合、データ量は大きくなく、高いデータ セキュリティは必要ありません。では、データをメモリに保存するメモリ エンジンを選択できます。このエンジンは、クエリの中間結果を保存するために MySQL の一時テーブルとして使用されます。

INSERT 操作と SELECT 操作のみがある場合は、Archive を選択できます。 . アーカイブは、同時実行性の高い挿入操作をサポートしていますが、それ自体はトランザクション的に安全ではありません。 Archive は、アーカイブされたデータを保存するのに非常に適しています。たとえば、Archive

を使用してログ情報を記録することができます。データベース内の複数のテーブルは、さまざまなパフォーマンスに合わせて異なるエンジンを使用できます。実際のニーズに応じて、適切なストレージ エンジンを使用してください。データベース全体のパフォーマンスが向上します。


以上がMySQL にはストレージ エンジンがいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Redis ExporterサービスでRedis Dropletを監視します Redis ExporterサービスでRedis Dropletを監視します Apr 10, 2025 pm 01:36 PM

Redisデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視するために設計された強力なユーティリティです。 このチュートリアルでは、Redis Exporterサービスの完全なセットアップと構成をガイドし、監視ソリューションをシームレスに構築します。このチュートリアルを研究することにより、完全に動作する監視設定を実現します

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

See all articles