Rumah > pangkalan data > tutorial mysql > analisis contoh reka bentuk seni bina MySQL

analisis contoh reka bentuk seni bina MySQL

王林
Lepaskan: 2023-05-27 13:41:03
ke hadapan
1249 orang telah melayarinya

1. Seni bina keseluruhan MySQL

Seperti yang anda lihat dari rajah, seni bina MySQL terbahagi terutamanya kepada Lapisan pelayan dan Lapisan Enjin Penyimpanan .

Lapisan pelayan dibahagikan kepada penyambung, cache, penganalisis, pengoptimum dan pelaksana. Semua fungsi enjin storan silang dilaksanakan dalam lapisan ini, seperti fungsi, prosedur tersimpan, pencetus, pandangan, dsb.

Enjin storan boleh dipalamkan Enjin storan biasa termasuk MyISAM, InnoDB, Memory, dll. Lalai ialah MyISAM sebelum MySQL 5.5, dan lalai selepas itu ialah InnoDB.

analisis contoh reka bentuk seni bina MySQL

2. Penyambung

Penyambung digunakan terutamanya untuk mengurus sambungan pelanggan dan pengesahan pengguna.

Protokol TCP digunakan untuk sambungan antara klien dan pelayan Sambungan diwujudkan dengan melakukan jabat tangan TCP, dan berdasarkan ini, penyambung memulakan pengesahan.

> mysql -hlocalhost -P3306 -uroot -p
Salin selepas log masuk

Jika pengesahan gagal, ralat RALAT 1045 (28000): Akses dinafikan untuk pengguna 'root'@'localhost' (menggunakan kata laluan: YES) akan berlaku.

Anda boleh melihat maklumat semua sambungan dalam sistem melalui arahan senarai proses tunjukkan:

analisis contoh reka bentuk seni bina MySQL

Lajur Commond mewakili sambungan status, dan Daemon mewakili proses latar belakang , Pertanyaan mewakili pertanyaan, dan Tidur mewakili sambungan terbiar.

3. Cache pertanyaan

Pertanyaan yang diminta oleh pelanggan tidak akan mengakses terus enjin storan, tetapi mula-mula menyemak sama ada hasilnya wujud dalam cache. Jika keputusan telah dicache, kembalikan terus jika tidak, jalankan semula proses pertanyaan dan cache hasilnya selepas pertanyaan selesai.

Cache ketidaksahihan akan dikosongkan apabila jadual data berubah, seperti memasukkan, mengemas kini, memadam dan mengubah operasi.

Untuk jadual data yang kerap menukar, kadar hit cache adalah sangat rendah. Oleh kerana menggunakan cache akan mengurangkan prestasi baca dan tulis, modul cache telah dialih keluar dalam versi selepas MySQL 8.0.

Anda boleh menyemak sama ada cache didayakan dengan menjalankan arahan berikut:

analisis contoh reka bentuk seni bina MySQL

4 Penganalisis utama Lakukan

analisis leksikal

dan analisis tatabahasa pada pernyataan SQL. Untuk kata kunci MySQL dan makna setiap perkataan, analisis leksikal diperlukan. Kemudian lakukan analisis sintaks untuk mengesan sama ada pernyataan SQL memenuhi keperluan sintaks MySQL.

MySQL mengenal pasti nama lajur, nama jadual, tempat, pilih/kemas kini/sisipkan dan kata kunci MySQL lain dalam rentetan, dan menentukan sama ada sql memenuhi tatabahasa mengikut peraturan tatabahasa, dan akhirnya menghasilkan pepohon sintaks abstrak (AST) .

Contohnya: Jika anda meninggalkan kata kunci where dalam pernyataan SQL, ralat akan digesa.

mysql> select * from user id=1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1' at line 1
Salin selepas log masuk

5. Pengoptimum

Sebelum pernyataan SQL benar-benar dilaksanakan, ia perlu diproses oleh pengoptimum.

Pelan pelaksanaan (Jelaskan) yang kami tahu dengan baik dijana oleh pengoptimum.

Pengoptimum mempunyai dua fungsi utama:

Pengoptimuman logik

dan Pengoptimuman fizikal. Pengoptimuman logik terutamanya melaksanakan penulisan semula predikat yang setara, penyederhanaan bersyarat, penghapusan subkueri, penghapusan sambungan, pengoptimuman semantik, penggabungan kumpulan, tekan bawah pilihan, pertanyaan pengoptimuman indeks, pertanyaan paparan penggantian pertanyaan jadual, Penggantian kesatuan atau Operasi dll.

Melalui algoritma tamak dan model anggaran kos, tujuan utama pengoptimuman fizikal adalah untuk menganggarkan kos setiap kaedah pelaksanaan. Dan gunakan indeks untuk mengoptimumkan sambungan jadual dan akhirnya menjana rancangan pelaksanaan pertanyaan.

Dilampirkan gambarajah seni bina pengoptimum MySQL, anda boleh melihat dengan jelas proses pengoptimuman:

analisis contoh reka bentuk seni bina MySQL6 🎜>Selepas pengoptimum mengoptimumkan SQL dan menjana pelan pelaksanaan, ia akan menyerahkan pelan pelaksanaan kepada pelaksana.

Pelaksana memanggil antara muka enjin storan untuk benar-benar melaksanakan pertanyaan SQL. Perlaksanaan pernyataan SQL berakhir selepas mendapatkan hasil pertanyaan yang dikembalikan oleh enjin storan dan mengembalikannya kepada pelanggan.

Atas ialah kandungan terperinci analisis contoh reka bentuk seni bina MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan