2でのMySQLデータベースエンジン

MySQLデータベースは、ここでのMyISAMとInnoDBのに焦点を当てて、複数のデータベース・エンジンを持つように選択することができます

1、MyISAMテーブル

  得られる改善に基づく:(1)MyISAMテーブルは、バージョン5.5のデータベースエンジンの前にデフォルトのMySQLで、早期ISAM(シーケンシャルアクセスメソッドインデックスインデックスシーケンシャルアクセス方法)です。

  (2)特徴:

    長所:優れた性能、フルテキストインデックス、圧縮、空間的な機能やその他の機能

    欠点は:トランザクションと行レベルのロックをサポートしていない、最大の問題は、データベースがクラッシュ後に復元することができないことです

 

2、InnoDBの

  (1)InnoDBはISAMおよびMyISAMのと比較して、デフォルトのデータベースエンジンの後にMySQLバージョン5.5で、最大の利点および利益は、データベースのトランザクション機能を高めることです。

  (2)特徴:

    長所:サポートサービスと行レベルのロック、データベースのクラッシュ後の回復のためのサポート

    短所:フルテキストインデックスをサポートしていません。

 

図3に示すように、2つのデータベースエンジンの比較

  行レベルのロックをサポートしていない、のMyISAM支持テーブルロック:(1)ロック粒度をサポート。InnoDBは、より高い並行性を提供することができる、行レベルのロックをサポートします。

  (2)トランザクションをサポートするかどうか:MyISAMテーブルには、トランザクション、InnoDBのサポートトランザクション操作をサポートしていません。

  後に回収可能かどうか(3)データベースのクラッシュ:回復不能のMyI​​SAM、InnoDBのデータベースがクラッシュした後に復元することができますが。

  MyISAMテーブルは、外部キーをサポートしていない、とInnoDBの外部キーのサポート:(4)外部キーをサポートするかどうか。

  (5)フルテキストインデックスをサポートするかどうか:MyISAMテーブルは、フルテキストインデックスをサポートしているため、パフォーマンスが優れている。しかし、InnoDBは、フルテキストインデックスをサポートしていません。

 

図4は、追加:行レベルのロッキングとテーブル・レベルのロッキング

  行レベルのロック。

     各動作のためにデータの行をロックします。大きなオーバーヘッド、低速ロック、デッドロックが存在するであろう、最小サイズ、ロック競合の最も低い確率だけでなく、並行性の最高度をロックします。

  テーブル・レベルのロック。 

    各操作は、テーブル全体をロックします。、高速のオーバーヘッド小さなロック、デッドロックが発生しない、大きなサイズ、同時実行の最高、最低度のロック競合の確率をロックします。

   

おすすめ

転載: www.cnblogs.com/xwwbb/p/11084699.html