Rumah > pangkalan data > tutorial mysql > apa itu mysql index

apa itu mysql index

青灯夜游
Lepaskan: 2021-12-01 16:14:06
asal
15087 orang telah melayarinya

Dalam MySQL, indeks ialah struktur pangkalan data khas, yang terdiri daripada satu atau lebih lajur dalam jadual data Ia boleh digunakan untuk menanyakan rekod dengan cepat dengan nilai tertentu dalam jadual data. Melalui indeks, apabila menanyakan data, anda tidak perlu membaca semua maklumat dalam rekod, tetapi hanya menanya lajur indeks.

apa itu mysql index

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Indeks ialah struktur pangkalan data khas, yang terdiri daripada satu atau lebih lajur dalam jadual data. Ia boleh digunakan untuk menanya rekod dengan cepat dengan nilai tertentu dalam jadual data.

Melalui indeks, apabila menanyakan data, anda tidak perlu membaca semua maklumat yang direkodkan, tetapi hanya menanya lajur indeks. Jika tidak, sistem pangkalan data akan membaca semua maklumat setiap rekod untuk dipadankan.

Indeks boleh dibandingkan dengan urutan fonetik Kamus Xinhua. Sebagai contoh, jika anda ingin mencari perkataan "ku", jika anda tidak menggunakan urutan fonetik, anda perlu mencarinya halaman demi halaman dalam 400 halaman kamus. Walau bagaimanapun, jika anda mengekstrak pinyin untuk membentuk urutan fonetik, anda hanya perlu mencarinya terus daripada jadual fonetik lebih daripada 10 halaman. Ini boleh menjimatkan banyak masa.

Oleh itu, menggunakan indeks boleh meningkatkan kelajuan pertanyaan pangkalan data dan meningkatkan prestasi sistem pangkalan data dengan berkesan.

Mengapa menggunakan indeks

Indeks ialah hubungan antara nilai lajur dan baris rekod yang ditubuhkan dalam susunan tertentu berdasarkan satu atau beberapa lajur dalam jadual Jadual surat-menyurat pada asasnya ialah jadual tersusun yang menerangkan kesesuaian satu-satu antara nilai lajur lajur indeks dan baris rekod dalam jadual asal.

Indeks ialah objek pangkalan data yang sangat penting dalam MySQL Ia adalah asas teknologi penalaan prestasi pangkalan data dan sering digunakan untuk mencapai perolehan semula data dengan pantas.

Dalam MySQL, biasanya terdapat dua cara untuk mengakses data baris jadual pangkalan data:

1) Akses berjujukan

Akses berjujukan berada dalam jadual Lakukan imbasan jadual penuh, merentasi baris demi baris dari awal hingga akhir sehingga anda menemui data sasaran yang memenuhi syarat dalam data baris tidak tersusun.

Akses berjujukan agak mudah untuk dilaksanakan, tetapi apabila terdapat sejumlah besar data dalam jadual, kecekapan adalah sangat rendah. Sebagai contoh, apabila mencari sejumlah kecil data di antara berpuluh-puluh juta data, menggunakan akses berjujukan akan merentasi semua data, yang akan mengambil banyak masa dan jelas akan menjejaskan prestasi pemprosesan pangkalan data.

2) Akses indeks

Akses indeks ialah cara untuk mengakses terus baris rekod dalam jadual dengan merentasi indeks.

Premis menggunakan kaedah ini adalah untuk mencipta indeks pada jadual Selepas mencipta indeks pada lajur, apabila mencari data, anda boleh terus mencari lokasi baris rekod yang sepadan berdasarkan indeks pada. lajur, supaya cepat mencari data. Indeks menyimpan penunjuk kepada nilai data lajur yang ditentukan, mengisih penunjuk ini mengikut susunan isihan yang ditentukan.

Contohnya, dalam jadual maklumat asas pelajar tb_pelajar, jika indeks diwujudkan berdasarkan student_id, sistem mencipta jadual pemetaan daripada lajur indeks kepada rekod sebenar. Apabila pengguna perlu mencari data dengan student_id 12022, sistem mula-mula mencari rekod pada indeks student_id, kemudian mencari terus baris data melalui jadual pemetaan dan mengembalikan baris data. Oleh kerana kelajuan mengimbas indeks secara amnya jauh lebih besar daripada kelajuan mengimbas baris data sebenar, menggunakan indeks boleh meningkatkan kecekapan pangkalan data.

Ringkasnya, tanpa menggunakan indeks, MySQL mesti membaca keseluruhan jadual bermula dari rekod pertama sehingga ia menemui baris yang berkaitan. Lebih besar jadual, lebih banyak masa yang diperlukan untuk menanyakan data. Jika lajur yang ditanya dalam jadual mempunyai indeks, MySQL boleh dengan cepat pergi ke lokasi untuk mencari fail data tanpa perlu melihat semua data, yang akan menjimatkan banyak masa.

Kebaikan dan Kelemahan Indeks

Indeks mempunyai kelebihan yang jelas dan kelemahannya yang tidak dapat dielakkan.

Kelebihan

Kelebihan indeks adalah seperti berikut:

  • Dengan mencipta indeks yang unik, setiap baris data dalam jadual pangkalan data boleh dijamin unik.

  • Boleh menetapkan indeks untuk semua jenis lajur MySQL.

  • boleh mempercepatkan pertanyaan data, yang merupakan sebab utama untuk menggunakan indeks.

  • boleh mempercepatkan sambungan antara jadual dari segi mencapai integriti rujukan data.

  • Apabila menggunakan klausa pengumpulan dan pengisihan untuk pertanyaan data, masa pengumpulan dan pengisihan dalam pertanyaan juga boleh dikurangkan dengan ketara

Kelemahan

Meningkatkan indeks juga mempunyai banyak kelemahan, terutamanya seperti berikut:

  • Mencipta dan menyelenggara kumpulan indeks mengambil masa, dan apabila jumlah data meningkat, ia mengambil masa juga akan meningkat.

  • Indeks perlu menduduki ruang cakera Selain ruang data yang diduduki oleh jadual data, setiap indeks juga menduduki sejumlah ruang fizikal. Jika anda mempunyai bilangan indeks yang banyak, fail indeks mungkin mencapai saiz fail maksimumnya lebih cepat daripada fail data.

  • Apabila menambah, memadam dan mengubah suai data dalam jadual, indeks mesti dikekalkan secara dinamik, yang mengurangkan kelajuan penyelenggaraan data.

Apabila menggunakan indeks, anda perlu mempertimbangkan kebaikan dan keburukan indeks.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci apa itu mysql index. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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