Rumah > Soal Jawab > teks badan
Selepas mysql 5.6, yang manakah lebih pantas untuk membuat pertanyaan data, innodb atau myisam. Bolehkah anda memberi saya bukti?
漂亮男人2017-05-16 13:07:44
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
ringa_lee2017-05-16 13:07:44
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.
習慣沉默2017-05-16 13:07:44
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
淡淡烟草味2017-05-16 13:07:44
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)