検索

ホームページ  >  に質問  >  本文

php - MySQL ストレージ エンジン

mysql 5.6 以降では、innodb と myisam のどちらがデータのクエリが高速ですか。証拠を教えてもらえますか?

高洛峰高洛峰2752日前757

全員に返信(4)返信します

  • 漂亮男人

    漂亮男人2017-05-16 13:07:44

    個人テスト (MySQL バージョン 5.7.18)、それぞれ 60W と 1W のレコードをテスト
    インデックスがある場合、MyISAM は Innodb クエリよりも高速で、差はわずかです
    インデックスがない場合、MyISAM は Innodb クエリより高速で、クエリ速度の差は約1回

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 13:07:44

    わずかな変更を伴う多数のクエリ (挿入、更新、削除) ==> MyISAM

    全文検索のサポート、MySQL バージョンは 5.5 未満 ==> MyISAM

    それ以外の場合は、innodb を使用してください

    本題から外れます:
    私を含め、ほとんどの人は怠け者です。インターネット上で多くの結論があることを時間をかけて証明する「Lei Feng」はほとんどいないと推定されます。
    関連するトピックを自分で検索してください。他の人が行った比較がたくさん見つかると思います。これらの結論にまだ懐疑的な場合は、他の人がオンラインで行ったものは、mysql の古いバージョンである可能性が高いため、自分で調査することもできます。説得力のあるベンチマークを作成する方法について尋ねる場合は、自分でベンチマーク テストを実施する方がよいかもしれません。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:07:44

    どちらが速いかはビジネスロジックに基づいて判断する必要があるため、直接言うことはできません。ただし、インターネット上では、クエリの方が速いと考えている人が多いことに注意してください。 myisam一定要比innodb快,的确,当我们在对整个表不加以任何条件进行查询统计时,myisam的确要快一些,这是因为myisam在插入数据的时候会更新表的数据,当我们查询的时候,直接走的统计数量
    但是,一旦当我们给sql语句加入条件时,innodb并不一定会比myisam慢,因为此时都是走的磁盘索引,即使是面对第一种情况,我们也可以用一个总数跟进表来统计总数,所以,一般没有特殊情况的话,建议InnoDB

    返事
    0
  • 淡淡烟草味

    淡淡烟草味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) マルチバージョンの同時実行制御をチェックして維持する必要があります

    返事
    0
  • キャンセル返事