MySQL5.6如何优化慢查询的SQL语句--慢日志介绍_MySQL
最近有个开发团队抱怨我们平台包含的mysql cluster不行,总是报mysql的”heartbeat Error“,分析了他们收集的日志,没有发现mysql cluster节点之间的网络有问题,倒是发现了一个很有意思的现象,在mysql的slow log里面发现了大量的慢查询,基本上都是要1秒钟以上,很明显这种耗时高的慢查询会影响系统行为,指出这点让开发团队去优化他们的应用,很好奇他们竟然不知道有这些东西可以分析。。。。。。
数据库响应慢问题最多的就是查询了。现在大部分数据库都提供了性能分析的帮助手段。例如Oracle中会帮你直接找出慢的语句,并且提供优化方案。在MySQL中就要自己开启慢日志记录加以分析(记录可以保存在表或者文件中,默认是保存在文件中,我们系统使用的就是默认方式)。
先看看MySQL慢查询日志里面的记录长什么样的:
Time Id Command Argument # Time: 141010 9:33:57 # User@Host: root[root] @ localhost [] Id: 1 # Query_time: 0.000342 Lock_time: 0.000142 Rows_sent: 3 Rows_examined: 3 use test; SET timestamp=1412904837; select * from t;
这个日志应该很好理解了,第一个#记录时间戳,第二个#记录执行命令的用户和地址信息,第三个#记录执行查询的时间、锁的时间、返回行数、被扫描的行数。接着后面记录真正执行的SQL语句。还可以通过以下命令看看cvs存储格式每个字段意义。
SHOW CREATE TABLE mysql.slow_log;
接下来说说如何获取和分析慢日志吧。
查看MySQL慢日志参数
进入启动好的MySQL,执行以下命令
mysql> show variables like '%slow_query%'; +---------------------------+----------------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql/data/cloudlu-slow.log | +---------------------------+----------------------------------------+
那么什么样的查询需要被日志呢?在MySQL中,没有index的查询以及超过指定时间同时超过指定扫描行数的查询需要记录在慢日志查询里面。
那么它们的参数又是怎么查看的呢?
没有index的查询记录开关
mysql> show global variables like '%indexes%'; +----------------------------------------+-------+ | Variable_name | Value | +----------------------------------------+-------+ | log_queries_not_using_indexes | OFF | | log_throttle_queries_not_using_indexes | 0 | +----------------------------------------+-------+
超过指定时长的查询开关
mysql> show global variables like '%long_query%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)
就一个参数指定超过多少时长的查询需要被记录
超过指定行数的扫描查询开关
mysql> show variables like '%min_examined_row_limit%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | min_examined_row_limit | 0 | +------------------------+-------+ 1 row in set (0.00 sec)
设置开启MySQL慢日志参数
进入MySQL,输入以下命令或者在MySQL的启动配置文件里面修改或者给MySQL添加启动参数,进入MySQL后的修改如下:
set global long_query_time=0.1; set global log_queries_not_using_indexes=on; set global slow_query_log = on;

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



Log win10 boleh membantu pengguna memahami penggunaan sistem secara terperinci Ramai pengguna mesti menemui log 6013 apabila mencari log pengurusan mereka sendiri. Apakah log win10 6013: 1. Ini log biasa. Maklumat dalam log ini tidak bermakna bahawa komputer anda telah dimulakan semula, tetapi ia menunjukkan berapa lama sistem telah berjalan sejak kali terakhir ia dimulakan. Log ini akan muncul sekali setiap hari pada pukul 12 tepat. Bagaimana untuk menyemak berapa lama sistem telah berjalan Anda boleh memasukkan info sistem dalam cmd. Terdapat satu baris di dalamnya.

Fungsinya adalah untuk memberi maklum balas kepada jurutera mengenai maklumat penggunaan dan rekod untuk memudahkan analisis masalah (digunakan semasa pembangunan); Penampan pembalakan ialah kawasan kecil sementara yang digunakan untuk penyimpanan jangka pendek vektor perubahan bagi log semula untuk ditulis pada cakera. Log penimbal tulis ke cakera ialah kumpulan vektor perubahan daripada berbilang transaksi. Walaupun begitu, vektor perubahan dalam penimbal log ditulis ke cakera dalam hampir masa nyata, dan apabila sesi mengeluarkan kenyataan COMMIT, operasi tulis penimbal log dilakukan dalam masa nyata.

Log win10 boleh membantu pengguna memahami penggunaan sistem secara terperinci Ramai pengguna telah melihat banyak log ralat semasa mencari log pengurusan mereka sendiri. Bagaimana untuk menyelesaikan peristiwa log win10 7034: 1. Klik "Mula" untuk membuka "Panel Kawalan" 2. Cari "Alat Pentadbiran" 3. Klik "Perkhidmatan" 4. Cari HDZBCommServiceForV2.0, klik kanan "Stop Service" dan ubahnya kepada "Mula Manual"

Dengan perkembangan pesat Internet dan aplikasi Web, pengurusan log menjadi semakin penting. Apabila membangunkan aplikasi web, cara mencari dan mencari masalah adalah isu yang sangat kritikal. Sistem pembalakan ialah alat yang sangat berkesan yang boleh membantu kami mencapai tugasan ini. ThinkPHP6 menyediakan sistem pengelogan berkuasa yang boleh membantu pembangun aplikasi mengurus dan menjejaki peristiwa yang berlaku dalam aplikasi dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan sistem pembalakan dalam ThinkPHP6 dan cara menggunakan sistem pembalakan

iPhone membolehkan anda menambah ubat dalam apl Kesihatan untuk menjejak dan mengurus ubat, vitamin dan suplemen yang anda ambil setiap hari. Anda kemudian boleh log ubat yang telah anda ambil atau langkau apabila anda menerima pemberitahuan pada peranti anda. Selepas anda mencatatkan ubat anda, anda boleh melihat kekerapan anda mengambil atau melangkaunya untuk membantu anda menjejaki kesihatan anda. Dalam siaran ini, kami akan membimbing anda untuk melihat sejarah log ubat yang dipilih dalam apl Kesihatan pada iPhone. Panduan ringkas tentang cara melihat sejarah log ubat anda dalam Apl Kesihatan: Pergi ke Apl Kesihatan>Semak imbas>Ubat>Ubat>Pilih Ubat>Pilihan&a

Dalam sistem Linux, anda boleh menggunakan arahan berikut untuk melihat kandungan fail log: perintah ekor: Perintah ekor digunakan untuk memaparkan kandungan pada akhir fail log. Ia adalah arahan biasa untuk melihat maklumat log terkini. ekor [pilihan] [nama fail] Pilihan yang biasa digunakan termasuk: -n: Tentukan bilangan baris yang akan dipaparkan, lalai ialah 10 baris. -f: Pantau kandungan fail dalam masa nyata dan secara automatik memaparkan kandungan baharu apabila fail dikemas kini. Contoh: tail-n20logfile.txt#Paparkan 20 baris terakhir fail logfile.txt tail-flogfile.txt#Pantau kandungan kemas kini fail logfile.txt dalam arahan kepala masa nyata: Perintah kepala digunakan untuk memaparkan permulaan daripada fail log

Log win10 mempunyai banyak kandungan yang kaya. Ramai pengguna mesti melihat ralat paparan ID455 semasa mencari log pengurusan mereka sendiri. Jadi apa maksudnya. Apakah peristiwa ID455 dalam log win10: 1. ID455 ialah ralat <ralat> yang berlaku dalam <fail> apabila stor maklumat membuka fail log.

Jenis fail log Linux dan kaedah konfigurasi Dalam sistem Linux, fail log adalah sangat penting Mereka merekodkan status berjalan sistem, operasi pengguna, dan kejadian pelbagai peristiwa. Dengan menyemak fail log, pentadbir sistem boleh menemui masalah dalam masa dan mengendalikannya dengan sewajarnya. Artikel ini akan memperkenalkan jenis fail log biasa dalam sistem Linux dan cara mengkonfigurasi pengelogan. 1. Jenis fail log Log sistem: Log sistem ialah fail log yang merekodkan status pengendalian sistem, termasuk permulaan sistem, penutupan, permulaan dan pemberhentian perkhidmatan, dsb.
