mysql慢查询和EXPLAIN的相关介绍
前记:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。
1、开启慢查询
1> 查看慢查询是否开启 show variables like "%quer%"; slow_query_log = ON #已开启
2> 开启方法:my.cnf目录配置
slow_query_log=on #是否开启 slow_query_log_file=/opt/MySQL_Data/TEST1-slow.log #慢查询文件位置 long_query_time=2 #查询超过多少秒才记录
2、EXPLAIN慢查询日志里出现的SELECT查询
explain列的解释
table:显示这一行的数据是关于哪张表的
type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、index、all
possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从where语句中选择一个合适的语句
key: 实际使用的索引。如果为null,则没有使用索引。很少的情况下,mysql会选择优化不足的索引。这种情况下,可以在select语句中使用use index(indexname)来强制使用一个索引或者用ignore index(indexname)来强制mysql忽略索引
key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数
rows:mysql认为必须检查的用来返回请求数据的行数
extra:关于mysql如何解析查询的额外信息。例子:using temporary和using filesort,意思mysql根本不能使用索引,结果是检索会很慢
【相关推荐】
2. MySQL最新手册教程
3. 数据库设计那些事
Atas ialah kandungan terperinci mysql慢查询和EXPLAIN的相关介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Redis ialah sistem storan struktur data memori berprestasi tinggi dan berskala yang digunakan secara meluas dalam cache data, baris gilir mesej, kunci teragih dan medan lain. Dalam proses aplikasi Redis, pertanyaan perlahan ialah masalah prestasi biasa. Apabila masa tindak balas permintaan pemprosesan Redis melebihi ambang yang ditentukan, ia boleh dipanggil pertanyaan perlahan. Pertanyaan perlahan boleh menyebabkan prestasi Redis merosot dan menjejaskan kestabilan dan kebolehpercayaan aplikasi. Untuk memastikan ketersediaan dan kebolehpercayaan yang tinggi bagi Redis, kami perlu menyelesaikan masalah pertanyaan perlahan daripada pelbagai aspek dan

Prakata: Salah satu lajur dalam hasil pelaksanaan explain dalam Mysql ialah key_len Jadi apakah maksud key_len? key_len: Menunjukkan bilangan bait yang digunakan oleh indeks Berdasarkan nilai ini, penggunaan indeks boleh dinilai Terutama apabila menggabungkan indeks, adalah sangat penting untuk menilai berapa banyak bahagian indeks yang digunakan. Nota tentang pengiraan key_len: Maklumat tambahan tentang medan indeks: ia boleh dibahagikan kepada jenis data panjang berubah dan panjang tetap Apabila medan indeks ialah jenis data panjang tetap, seperti char, int, datetime, tanda ialah diperlukan untuk menunjukkan sama ada tanda ini Menduduki 1 bait (untuk medan bukan nol, 1 bait ini tidak diperlukan untuk jenis data panjang berubah-ubah, seperti v

Dengan perkembangan pesat sistem aplikasi, cara untuk menyelesaikan masalah prestasi sistem dengan berkesan telah menjadi semakin penting. Untuk aplikasi yang menggunakan pangkalan data MySql, log tingkah laku dan pertanyaan perlahan ialah dua alat penting untuk mengesan masalah prestasi. Artikel ini akan memperkenalkan log tingkah laku MySql dan pertanyaan perlahan, dan membincangkan cara menggunakan kedua-dua alatan ini untuk mengesan masalah prestasi dengan cepat. 1. Log tingkah laku MySql Log tingkah laku MySql ialah log yang merekodkan semua operasi yang dilakukan oleh pelayan pangkalan data. Dengan melihat log tingkah laku, kita boleh belajar

1. jadual Jadual yang akan disoal 2. taip jenis pertanyaan indeks, dari yang terbaik hingga yang paling teruk: system>const>eq_ref>ref>range>index>ALL. Secara umumnya, pastikan pertanyaan mencapai sekurang-kurangnya tahap julat, dan sebaik-baiknya mencapai rujukan. 3. possible_keys memaparkan satu atau lebih indeks yang boleh digunakan pada jadual ini. Jika terdapat indeks untuk medan yang terlibat dalam pertanyaan, indeks akan disenaraikan, tetapi ia mungkin tidak digunakan oleh pertanyaan 4. Indeks sebenarnya digunakan oleh kunci . Jika indeks penutup digunakan dalam pertanyaan, indeks Hanya muncul dalam senarai kunci 5. kunci

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql Ia terutamanya memperkenalkan alat pt-query-digest untuk menganalisis log pertanyaan lambat mysql Mari kita lihat bersama-sama.

Amalan Pengoptimuman Pertanyaan Lambat Pangkalan Data: Aplikasi dalam Pengaturcaraan PHP Sebagai pengaturcara PHP, anda sering menghadapi masalah kecekapan pertanyaan pangkalan data yang rendah semasa proses pembangunan, iaitu apa yang dipanggil "permintaan lambat". Jika tidak dioptimumkan, pertanyaan perlahan ini boleh menyebabkan program berjalan perlahan dan mencipta pengalaman pengguna yang buruk. Artikel ini terutamanya memperkenalkan beberapa idea pengoptimuman dan teknik praktikal untuk membantu pengaturcara PHP menyelesaikan masalah pertanyaan lambat. 1. Kurangkan bilangan pertanyaan pangkalan data sebanyak mungkin Mengurangkan bilangan pertanyaan pangkalan data adalah cara penting untuk meningkatkan kecekapan sistem

Dengan perkembangan pesat Internet, kebolehpercayaan dan kecekapan telah menjadi salah satu isu terpenting bagi pembangun. Bagi pembangun bahasa PHP, menyelesaikan pertanyaan lambat telah menjadi salah satu masalah biasa. Kemunculan pertanyaan perlahan akan menyebabkan tapak web bertindak balas dengan perlahan, yang akan menjejaskan pengalaman pengguna malah boleh membawa kepada isu keselamatan data. Untuk tujuan ini, artikel ini akan memperkenalkan cara untuk mengelakkan pertanyaan lambat dalam pembangunan PHP. 1. Apakah pertanyaan lambat? Dalam pangkalan data MySQL, fenomena pertanyaan yang lebih perlahan daripada yang dijangkakan dipanggil pertanyaan perlahan. Pertanyaan perlahan bukan sahaja menjejaskan prestasi tapak web anda;

Konsep 1. Explain digunakan untuk menganalisis pernyataan pertanyaan SELECT Pembangun boleh mengoptimumkan pernyataan pertanyaan dengan menganalisis hasil Explain. Fungsi 2. Melalui arahan explain, kita boleh belajar cara SQL dilaksanakan, dan kemudian menghuraikan hasil explain boleh membantu kita menggunakan indeks yang lebih baik dan akhirnya mengoptimumkannya! Melalui arahan explain, kita boleh mengetahui maklumat berikut: susunan bacaan jadual, jenis operasi membaca data, indeks mana yang boleh digunakan, indeks mana yang sebenarnya digunakan, rujukan antara jadual, berapa banyak baris dalam setiap jadual yang ditanya. oleh maklumat pengoptimum, dsb. Contoh explainselect*fromtable_user;
