php - Enjin storan MySQL
高洛峰
高洛峰 2017-05-16 13:05:44
0
4
749

Selepas mysql 5.6, yang manakah lebih pantas untuk membuat pertanyaan data, innodb atau myisam. Bolehkah anda memberi saya bukti?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(4)
漂亮男人

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)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan