漂亮男人2017-05-16 13:07:44
個人テスト (MySQL バージョン 5.7.18)、それぞれ 60W と 1W のレコードをテスト
インデックスがある場合、MyISAM は Innodb クエリよりも高速で、差はわずかです
インデックスがない場合、MyISAM は Innodb クエリより高速で、クエリ速度の差は約1回
ringa_lee2017-05-16 13:07:44
わずかな変更を伴う多数のクエリ (挿入、更新、削除) ==> MyISAM
全文検索のサポート、MySQL バージョンは 5.5 未満 ==> MyISAM
それ以外の場合は、innodb を使用してください
本題から外れます:
私を含め、ほとんどの人は怠け者です。インターネット上で多くの結論があることを時間をかけて証明する「Lei Feng」はほとんどいないと推定されます。
関連するトピックを自分で検索してください。他の人が行った比較がたくさん見つかると思います。これらの結論にまだ懐疑的な場合は、他の人がオンラインで行ったものは、mysql の古いバージョンである可能性が高いため、自分で調査することもできます。説得力のあるベンチマークを作成する方法について尋ねる場合は、自分でベンチマーク テストを実施する方がよいかもしれません。
習慣沉默2017-05-16 13:07:44
どちらが速いかはビジネスロジックに基づいて判断する必要があるため、直接言うことはできません。ただし、インターネット上では、クエリの方が速いと考えている人が多いことに注意してください。 myisam
一定要比innodb
快,的确,当我们在对整个表不加以任何条件进行查询统计时,myisam
的确要快一些,这是因为myisam
在插入数据的时候会更新表的数据,当我们查询的时候,直接走的统计数量
但是,一旦当我们给sql
语句加入条件时,innodb
并不一定会比myisam
慢,因为此时都是走的磁盘
或索引
,即使是面对第一种情况,我们也可以用一个总数跟进表
来统计总数,所以,一般没有特殊情况的话,建议InnoDB
淡淡烟草味2017-05-16 13:07:44
しかし、2 つのエンジンを分析すると、MYISAM は INNODB よりも高速です。これは、INNODB が SELECT を実行するときに、MYISAM エンジンよりも多くのことを維持する必要があるためです。
1. INNODB、INNODB はキャッシュする必要があり、MYISAM はインデックス ブロックのみをキャッシュします。途中でのスワップインとスワップアウトも減少します。
2. INNODB アドレス指定はブロックにマッピングしてから行にマッピングする必要があり、MYISAM はファイルの OFFSET を直接記録するため、位置決めは INNODB よりも高速です。
3.INNODB は MVCC の一貫性を維持する必要もあります。シナリオには存在しませんが、MVCC (Multi-Version Concurrency Control) マルチバージョンの同時実行制御をチェックして維持する必要があります