主な違いは、InnoDBはトランザクションをサポートしますが、MyISAMはサポートしないことです。
他にも多くの違いがありますが、私が知っている一般的な違いは次のとおりです。
- MyISAMは通常、検索が高速であると考えられてきましたが、最近のInnoDBの改善により、この違いがなくなり、同時実行性の高いワークロードのパフォーマンスが向上しています。
- InnoDBはトランザクションをサポートしますが、MyISAMはサポートしません
- InnoDBは参照整合性をサポートしていますが、MyISAMはサポートしていません
- InnoDBはインデックスの処理方法が少し異なり、主キーをすべてのインデックスの一部として格納します(インデックスがディスク上でより多くのスペースを占めるようにするだけでなく、カバーするインデックスの可能性も高くなります)
- MyISAMはテーブルレベルのロックを実行し、InnoDBは行レベルのロックを実行できます
- MySQL構成ファイルではさまざまなメモリ/バッファ/インデックス設定が使用されます
- InnoDBは通常、クラッシュリカバリが優れていると言われています
- 別の回答で述べたように、データは異なる方法でディスクに保存されます。 InnoDBはこの領域で構成可能であり、必要に応じてテーブルごとに1つのファイルなどを持つことができると思います
グーグル検索またはMySQLサイトは、他の多くの違いをより詳細にもたらすと確信しています。