ホームページ  >  記事  >  データベース  >  MySQLデータベースのストレージエンジンとは何ですか

MySQLデータベースのストレージエンジンとは何ですか

王林
王林転載
2023-05-29 13:47:242232ブラウズ

    ストレージ エンジン

    ストレージ エンジンとは何ですか?

    飛行機やロケットのエンジンと同様、ストレージ エンジンはデータベースの非常に重要なコンポーネントです。ストレージ エンジンの使用は特定のシナリオに基づいている必要があるため、明らかにそうではありません。 Mysql では、ストレージ エンジンは同じであり、それが良いか悪いかではありません。最善を尽くすには、さまざまなシナリオに適応する適切なストレージ エンジンを選択する必要があります。ストレージ エンジンは、データの保存、インデックスの作成、データの更新/クエリなどのテクノロジの実装です。ストレージ エンジンはライブラリではなくテーブルに基づいているため、テーブル タイプはストレージ エンジンと呼ぶことができます。

    Mysql のアーキテクチャ:

    Mysql のアーキテクチャは 4 つの層に分かれています:

    MYsql のアーキテクチャを次の図に示します:

    MySQLデータベースのストレージエンジンとは何ですか

    接続層

    最上位層はいくつかのクライアントとリンク サービスであり、主にいくつかの接続処理、認可認証、および関連するセキュリティ ソリューションを完了します。サーバーはまた、各クライアントは、そのクライアントが持つ操作権限を確認します。

    サービス層

    第 2 層のアーキテクチャは主に、SOL インターフェイスなどのコア サービス機能のほとんどを完了し、キャッシュ クエリ、SOL の分析と最適化、および一部の組み込みの実行を完了します。機能。プロシージャ、関数など、すべてのクロスストレージ エンジン機能もこの層に実装されます。

    エンジン層

    ストレージ エンジンは、MvSOL でのデータの保存と取得を担当する主要なコンポーネントであり、サーバーは API を使用してストレージ エンジンと通信します。ストレージ エンジンが異なれば機能も異なるため、ニーズに応じて適切なストレージ エンジンを選択してください。

    ストレージ層

    主にデータをファイル システムに保存し、ストレージ エンジンとの対話を完了します。

    ストレージ エンジンの表示

    MySQL 5.5 以降、InnoDB ストレージ エンジンがデフォルトのストレージ エンジンになり、もちろん他にも多くのストレージ エンジンから選択できます。以前は、デフォルトはメモリ ストレージ エンジンでした。

    show engines;

    MySQLデータベースのストレージエンジンとは何ですか

    create table Course(
        Con int primary key auto_increment,
        Cname varchar(10),
        Cpon int,
        Ccredit int
    )
    
    show create table course;

    MySQLデータベースのストレージエンジンとは何ですか

    ストレージ エンジンの仕様

    たとえば、テーブルの作成時に指定できます。このテーブルのストレージ エンジンのタイプ。

    create table test_mysql(
        name varchar(10),
        age int
    ) engine = Memory;

    MySQLデータベースのストレージエンジンとは何ですか

    ストレージ エンジンの機能

    ここでは、次の InnoDB に焦点を当てます

    InnoDB の概要

    InnoDB は、高い信頼性と高性能を兼ね備えた汎用ストレージ エンジンであり、MvSOL 5.5 以降は、InnoDB がデフォルトの MvSOL ストレージ エンジンです。

    #InnoDB の機能
    • #DML 操作は ACID モデルに従い、トランザクションをサポートします。

    • 同時アクセスのパフォーマンスを向上させる行レベルのロック;

    • 外部キー FOREIGN KEY 制約をサポートし、データの整合性と正確性を確保します:

    • InnoDB ファイル
    • xxx.ibd:xxx はテーブル名を表し、innoDB エンジンの各テーブルはそのようなテーブルに対応します。 table テーブル構造 (frm、sdi)、データ、テーブルのインデックスを保存する空間ファイル。

    • #パラメータ: テーブルごとの innodb ファイル

    # #最後に、図を使用して InnoDB の論理ストレージ構造を示します。 MySQLデータベースのストレージエンジンとは何ですか

    MySQLデータベースのストレージエンジンとは何ですか

    #概要: InnoDB はトランザクションをサポートしますが、MyISAM はサポートしません。InnoDB は行ロックをサポートします。MyISAM はサポートしません。テーブル ロックをサポートします。InnoDB は外部キーをサポートしますが、MyISAM はサポートしません。MySQLデータベースのストレージエンジンとは何ですか

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

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

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。