Mysql ストレージ エンジンにおける InnoDB と Myisam の主な違い

mysql コマンド ウィンドウで show Engines と入力すると、mysql のすべてのエンジンが表示されます。非常に多くのエンジンがあります。よく MyISAM と InnoDB の 2 つを使用します。これら 2 つのエンジンの違いは何ですか?


1. トランザクション処理
innodb はトランザクション機能をサポートしていますが、myisam はサポートしていません。
Myisam はより高速に実行され、パフォーマンスが向上します。

 

2,select ,update ,insert ,delete 操作

MyISAM: 大量の SELECT を実行する場合は、MyISAM がより適切な選択肢です。
InnoDB: データが大量の INSERT または UPDATE を実行する場合は、パフォーマンス上の理由から、InnoDB テーブルを使用する必要があります。

3. ロック機構が異なります

InnoDB は行レベルのロックであり、myisam はテーブルレベルのロックです。
注: データベースが見つかった行を特定できない場合、テーブル全体がロックされます。
例: update table set num = 10 where username like "%test%";

4. クエリ テーブルの行数は
MyISAM とは異なります: select count(*) from table, MyISAM は単に保存された行数を読み取ります。count(*) ステートメントに where 条件が含まれる場合、 2つのテーブルは同じです

InnoDB: InnoDB はテーブルの特定の行番号を保存しません。つまり、テーブルから select count(*) を実行するとき、Inn

おすすめ

転載: blog.csdn.net/caryxp/article/details/132354066