MyISAMテーブルの特長
1)行ロック(MyISAMテーブルロックのみ)をサポートしていないロックを読み取るために、すべてのテーブルのニーズを読みながら、そのテーブルに書き込み中に排他ロックを追加し、;
2)トランザクションをサポートしていません。
3)外部キーをサポートしていません。
4)クラッシュ後の安全な回復をサポートしていません。
5)テーブルでは、同時にクエリを読んでいる、テーブルに新しいレコードの挿入をサポート
6)、フルテキストインデックスのサポートを最初の500文字のBLOBとTEXTインデックスをサポートしています
7)サポートが大幅に書き込みパフォーマンスが向上し、インデックスを更新遅れ
8)テーブルを変更していないため、表が大幅に占有するディスク容量を減らす圧縮をサポートしています
InnoDBの特長
1)支持ラインロックは、高い並行性をサポートするために、MVCCを使用して、それが可能であるデッドロック
2)サポートサービス
3)外部キーをサポート
4)クラッシュ後の安全な回復をサポート
5)フルテキストインデックスをサポートしていません。
主な違い:
1)トランザクションをサポートするかどうか
2)行レベルのロックをサポート
3)クラッシュ後の安全な回復か
カウント動作中に4差):メタデータ(ラインなど)とのMyISAMテーブルなぜならキャッシュ、とても良い構造のためのクエリは非常にリソースを消費しませんがCOUNT(*)を行います。InnoDBのために、それはそのようなキャッシュではありません。しかし、両方が実行回数(*)クエリを必要とする条件が存在する場合。
MySQLの行および表ロック(コンピュータロックがリソース機構に複数のプロセスまたはスレッドの同時アクセスを調整するために純粋である)
テーブル・レベルのロッキング:
表全体をロックするすべての操作。オーバーヘッド小さい、高速ロック、デッドロックしない、ロック大きいサイズ、最高、最低の同時実行の程度のロック競合の確率は、
行レベルのロッキング:
データの行をロックするすべての動作を制御します。大きなオーバーヘッドが、低速ロック、ロック最小サイズ、ロック競合の最も低い確率だけでなく、並行性の最高度、デッドロックが存在するであろう。
参照してください: https://juejin.im/post/5b1685bef265da6e5c3c1c34