MySQLの概要およびMySQLのInnoDBとMyISAMエンジンの違い


MySQL
MySQLの概要
データベースの生成
  • データベースはなぜありますか?ファイル保存データには以下の欠陥がある:1.ファイルセキュリティの問題2.照会と管理に不利である.膨大なデータを格納するのに不利である.プログラムの使用が不便である
  • データベースとは何ですか?以上のファイルストレージの欠陥を総合して、専門家たちはデータを管理するのにもっと有利なもの--データベースを設計して、効果的にデータを管理することができて、データベースのレベルは1人のプログラマーのレベルを測定する重要な指標です.
  • データベースの記憶媒体:1.ディスク2.メモリ
  • 主流データベース
  • SQL Server:マイクロソフトの製品.Netプログラマーのお気に入り、中大型プロジェクト.
  • Oracle:Oracle製品は、大規模なプロジェクトに適しており、複雑なビジネスロジックは、一般的にMySQLに及ばない.
  • MySQL:世界で最も人気のあるデータベースは、甲骨文に属し、同時性がよく、複雑な業務には向いていない.主に電子商取引、SNS、フォーラムに使われています.簡単なSQL処理に効果があります.
  • PostgreSQL:カリフォルニア大学バークレー校コンピュータ学部が開発した関係型データベースは、私用、商用、学術研究で使用しても無料で使用でき、修正、配布できます.
  • SQLite:比較的小さなCライブラリに含まれるACIDを遵守するリレーショナル・データベース管理システムの軽量なデータベースです.その設計目標は組み込み型であり、現在多くの組み込み型製品で使用されており、リソースの占有量は非常に低く、組み込み型デバイスでは数百Kのメモリだけで十分である可能性があります.
  • H 2:Javaで開発された組み込みデータベースで、それ自体はクラスライブラリであり、アプリケーションプロジェクトに直接埋め込むことができます.

  • MySQLデータインストール
  • Centos 6.5でコンパイルインストールMySQL
  • CentOS 7下コンパイルインストールMariaDB
  • WindowsでMySQL 5をインストールします.7
  • CentOs 7ミラーダウンロード
  • 抽出コード:zl 1 v
  • MySQL分類
  • DDLデータ定義言語、データを格納する構造代表命令を維持するために使用される:create,drop,al ter
  • DMLデータ操作言語、データを操作するための代表命令:i nsert,del ete,update
  • DMLにはDQLが1つずつ分けられており、データクエリー言語、代表命令:select
  • DCLデータ制御言語、主に権限管理と事務代表命令を担当する:grant,revoke,commi t
  • データエンジンの表示
    show engines;
    
  • 現在MySQLを使用してライブラリを作成する際にデフォルトで使用されているエンジンはInnoDB
  • です.
    MySQLのInnoDBとMyISAMエンジンの違いについて
  • 機能上の違い:1.トランザクションのサポート:
  • MyISAMはトランザクションをサポートせず、InnoDBはサポートしています.InnoDBのAUTOMMITはデフォルトで開きます.つまり、SQL文はデフォルトでトランザクションにカプセル化され、自動的にコミットされます.
  • MyISAMは非事務安全型であり、InnoDBは食品安全型である.

  • 2.ストレージ構造:
  • MyISAM:各MyISAMはディスク上に3つのファイルとして格納され、最初のファイルタイプの接尾辞名である.fem(テーブルの名前で始まる)、2番目のファイル接尾辞名.MYD(MYData)(データファイル)、3番目のファイル接尾辞名.MYI(MYIndex)(インデックスファイル)
  • InnoDB:すべてのテーブルが同じデータファイル(複数のファイル、または独立した表領域ファイル)に保存され、InnoDBはオペレーティングシステムのサイズに制限され、一般的に2 GBである.

  • 3.記憶領域
  • MyISAM:圧縮は可能ですが、ストレージスペースは小さいです.静的テーブル、ダイナミックテーブル、圧縮テーブルの3つの異なるストレージフォーマットをサポートします.
  • InnoDB:より多くのメモリが必要な河村春氏は、メインメモリにデータとインデックスをキャッシュするための専用のバッファプールを構築します.

  • 4.移行可能なバックアップとリカバリ
  • MySIAM:データはファイル形式で格納され、プラットフォーム間でのデータ転送が便利です.バックアップ・リカバリ時にテーブルを個別に操作できます.
  • InnoDB:データファイルをコピーしたりbinlogをバックアップしたりmysqldumpを使ったりできますが、データ量が多すぎると大変です.

  • 5.取引サポート
  • MySIAM:パフォーマンスが強調されており、動作は原子的であり、実行効率はInnoDBよりも速いが、トランザクションサポートは提供されていない
  • InnoDB:トランザクションサポート、外部キーなどの高度なデータベース機能を提供します.

  • 6.AUTO_INCREMENT(自増)
  • MySIAM:他のフィールドと統合インデックス
  • を作成できます.
  • InnoDB:このフィールドのみのインデックス
  • を含める必要があります.
    7.表ロックの違い
  • MySIAM:テーブルレベルロック
  • のみサポート
  • InnoDB:トランザクションおよび行レベルロックをサポートする
  • 8.全文索引
  • MySIAM:全文インデックス
  • をサポート
  • InnoDB:全文インデックス
  • はサポートされていません
    9.テーブルのプライマリ・キー
  • MySIAM:インデックスとプライマリ・キーのないテーブルの存在を許可し、インデックスはローのアドレスを保存します.
  • InnoDB:プライマリ・キーまたはインデックスが設定されていない場合、6バイトを生成するプライマリ・キー(ユーザが見えない)
  • が自動的に作成されます.
    10.テーブルの合計行数
  • MySIAM:テーブルの合計行数を保存します(使用:select count(*)from table).
  • InnoDB:テーブルが保存されていないローの合計数.

  • 11.外部キー
  • MySIAM:
  • はサポートされていません
  • InnoDB:
  • 対応
    12.CURD操作
  • MySIAM:大量SELECTを実行する場合、MySIAMは
  • に適しています.
  • InnoDB:データが大量のINSERTを実行する場合、UPDATEは、InnoDB
  • を使用するのに適している.
  • インデックス方式が異なります:詳細は
  • を参照してください.
  • MySQLにおけるInnoDBとMyISAMエンジンの違い(簡単まとめ)
  • MySQLにおけるInnoDBとMyISAMエンジンの違い(いずれもB-Treeを使用しているがインデックス方式が異なる)
  • 上一篇:
  • MySQLベース文