ホームページ  >  記事  >  データベース  >  ハイパフォーマンス MySQL - ストレージ エンジン MyISAM と InnoDB の基本的な違いの紹介

ハイパフォーマンス MySQL - ストレージ エンジン MyISAM と InnoDB の基本的な違いの紹介

黄舟
黄舟オリジナル
2017-03-15 17:19:251657ブラウズ


このブログ投稿では、主に MyISAM と InnoDB の違いを要約します

InnoDB と MyISAM は、MySQL を使用するときに最も一般的に使用される 2 つのテーブル タイプであり、特定のアプリケーションに応じて、それぞれ独自の長所と短所があります。 。基本的な違いは次のとおりです:

(1) MyISAM タイプはトランザクション処理などの高度な処理をサポートしませんが、InnoDB タイプはトランザクションをサポートします。

(2) InnoDB はデータ行のロックをサポートしますが、MyISAM は行のロックをサポートせず、テーブル全体のロックのみをサポートします。ここで、InnoDB テーブルの行ロックは絶対的ではないことに注意してください。SQL ステートメントの実行時に MySQL がスキャンする範囲を決定できない場合、InnoDB テーブルはテーブル全体もロックします (たとえば、テーブル セット num= を更新します)。 1 ここで、名前は「% aaa%」のようなものです

(3) InnoDB は外部キーをサポートしていますが、MyISAM はサポートしていません。

(4) InnoDB はテーブル内の特定の行数を保存しません。つまり、テーブルから select count() を実行するとき、InnoDB はテーブル全体をスキャンして行数を計算する必要があります。ただし、MyISAM は保存された行数を読み取るだけです。 count() ステートメントに where 条件が含まれている場合、2 つのテーブルの操作は同じであることに注意してください。

以上がハイパフォーマンス MySQL - ストレージ エンジン MyISAM と InnoDB の基本的な違いの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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