Ujian peribadi (MySQL versi 5.7.18), rekod 60W dan 1W yang diuji masing-masing Dengan indeks, MyISAM lebih pantas daripada pertanyaan Innodb, perbezaannya kecil Tanpa indeks, MyISAM lebih pantas daripada pertanyaan Innodb, perbezaan dalam kelajuan pertanyaan adalah lebih kurang 1 kali
Sebilangan besar pertanyaan dengan sedikit pengubahsuaian (masukkan kemas kini padam) ==> MyISAM
Sokongan carian teks penuh, dan versi MySQL kurang daripada 5.5 ==> MyISAM
Dalam kes lain, sila gunakan innodb
Di luar topik: Kebanyakan orang malas, termasuk saya Dianggarkan tidak ramai "Lei Feng" akan meluangkan masa untuk membuktikan kepada anda sesuatu yang mempunyai banyak kesimpulan di Internet. Anda harus mencari sendiri topik berkaitan, saya percaya anda boleh menemui banyak perbandingan yang dibuat oleh orang lain. Jika anda masih ragu-ragu tentang kesimpulan tersebut, anda boleh melakukan penyelidikan anda sendiri Lagipun, apa yang dilakukan oleh orang lain dalam talian lebih berkemungkinan merupakan versi mysql yang lebih lama. Anda boleh menjalankan ujian penanda aras sendiri Jika anda bertanya cara membuat penanda aras yang meyakinkan, mungkin ini adalah soalan yang lebih baik.
Tidak boleh dikatakan secara langsung mana yang lebih cepat Ia perlu dilihat berdasarkan logik perniagaan, tetapi perlu dinyatakan bahawa terdapat salah faham di Internet. myisam一定要比innodb快,的确,当我们在对整个表不加以任何条件进行查询统计时,myisam的确要快一些,这是因为myisam在插入数据的时候会更新表的数据,当我们查询的时候,直接走的统计数量 但是,一旦当我们给sql语句加入条件时,innodb并不一定会比myisam慢,因为此时都是走的磁盘或索引,即使是面对第一种情况,我们也可以用一个总数跟进表来统计总数,所以,一般没有特殊情况的话,建议InnoDB
Tetapi apabila menganalisis kedua-dua enjin, MYISAM lebih pantas daripada INNODB, kerana apabila INNODB melakukan SELECT, ia perlu mengekalkan lebih banyak perkara daripada enjin MYISAM: 1 INNODB, INNODB perlu di-cache, MYISAM hanya menyimpan blok indeks, dan di tengah Terdapat juga pengurangan pertukaran masuk dan keluar. 2. Pengalamatan INNODB perlu dipetakan ke blok dan kemudian ke baris MYISAM merekodkan secara langsung OFFSET fail, dan kedudukan lebih pantas daripada INNODB. 3.INNODB juga perlu mengekalkan konsistensi MVCC; walaupun ia tidak wujud dalam senario anda, ia masih perlu menyemak dan mengekalkan kawalan koncurrency berbilang versi MVCC (Multi-Version Concurrency Control)
Ujian peribadi (MySQL versi 5.7.18), rekod 60W dan 1W yang diuji masing-masing
Dengan indeks, MyISAM lebih pantas daripada pertanyaan Innodb, perbezaannya kecil
Tanpa indeks, MyISAM lebih pantas daripada pertanyaan Innodb, perbezaan dalam kelajuan pertanyaan adalah lebih kurang 1 kali
Sebilangan besar pertanyaan dengan sedikit pengubahsuaian (masukkan kemas kini padam) ==> MyISAM
Sokongan carian teks penuh, dan versi MySQL kurang daripada 5.5 ==> MyISAM
Dalam kes lain, sila gunakan innodb
Di luar topik:
Kebanyakan orang malas, termasuk saya Dianggarkan tidak ramai "Lei Feng" akan meluangkan masa untuk membuktikan kepada anda sesuatu yang mempunyai banyak kesimpulan di Internet.
Anda harus mencari sendiri topik berkaitan, saya percaya anda boleh menemui banyak perbandingan yang dibuat oleh orang lain. Jika anda masih ragu-ragu tentang kesimpulan tersebut, anda boleh melakukan penyelidikan anda sendiri Lagipun, apa yang dilakukan oleh orang lain dalam talian lebih berkemungkinan merupakan versi mysql yang lebih lama. Anda boleh menjalankan ujian penanda aras sendiri Jika anda bertanya cara membuat penanda aras yang meyakinkan, mungkin ini adalah soalan yang lebih baik.
Tidak boleh dikatakan secara langsung mana yang lebih cepat Ia perlu dilihat berdasarkan logik perniagaan, tetapi perlu dinyatakan bahawa terdapat salah faham di Internet.
myisam
一定要比innodb
快,的确,当我们在对整个表不加以任何条件进行查询统计时,myisam
的确要快一些,这是因为myisam
在插入数据的时候会更新表的数据,当我们查询的时候,直接走的统计数量但是,一旦当我们给
sql
语句加入条件时,innodb
并不一定会比myisam
慢,因为此时都是走的磁盘
或索引
,即使是面对第一种情况,我们也可以用一个总数跟进表
来统计总数,所以,一般没有特殊情况的话,建议InnoDB
Tetapi apabila menganalisis kedua-dua enjin, MYISAM lebih pantas daripada INNODB, kerana apabila INNODB melakukan SELECT, ia perlu mengekalkan lebih banyak perkara daripada enjin MYISAM:
1 INNODB, INNODB perlu di-cache, MYISAM hanya menyimpan blok indeks, dan di tengah Terdapat juga pengurangan pertukaran masuk dan keluar.
2. Pengalamatan INNODB perlu dipetakan ke blok dan kemudian ke baris MYISAM merekodkan secara langsung OFFSET fail, dan kedudukan lebih pantas daripada INNODB.
3.INNODB juga perlu mengekalkan konsistensi MVCC; walaupun ia tidak wujud dalam senario anda, ia masih perlu menyemak dan mengekalkan kawalan koncurrency berbilang versi MVCC (Multi-Version Concurrency Control)