Rumah pangkalan data tutorial mysql mysql show profiles使用分析sql性能_MySQL

mysql show profiles使用分析sql性能_MySQL

Jun 01, 2016 pm 01:41 PM
sql

bitsCN.com
mysql show profiles使用分析sql性能 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。 查看一下我的数据库版本mysql> Select  version();+---------------------+| version()           |+---------------------+| 5.0.82-community-nt |+---------------------+   1 row in set (0.00 sec) 版本是支持show profiles功能的。接下来进入mysql性能跟踪诊断的世界 查看是否打开了profiles功能,默认是关闭的 mysql> use test; Database changed mysql> show profiles; Empty set (0.00 sec) 显示为空,说明profiles功能是关闭的。下面开启 mysql> set profiling=1; Query OK, 0 rows affected (0.00 sec) 执行下面的查询   mysql> explain select distinct player_idfrom task limit 20; mysql> select distinct player_id from task ; 然后执行 show profiles mysql> show profiles; +----------+------------+------------------------------------------------------+ | Query_ID | Duration   | Query                                               | +----------+------------+------------------------------------------------------+ |       1 | 0.00035225 | explain select distinct player_id from task limit 20 | |       2 | 1.91772775 | select distinct player_id from task                  | +----------+------------+------------------------------------------------------+ 此时可以看到执行select distinct player_id from task 用了1.91772775秒的时间 根据query_id 查看某个查询的详细时间耗费 mysql> show profile for query 2;   +----------------------+----------+ | Status               | Duration | +----------------------+----------+ | starting             | 0.000052 | | Opening tables       | 0.000009 | | System lock          | 0.000003 | | Table lock           | 0.000007 | | init                 | 0.000013 | | optimizing           | 0.000003 | | statistics           | 0.000009 | | preparing            | 0.000008 | | Creating tmp table   | 0.000074 | | executing            | 0.000002 | | Copying to tmp table |1.916551 |   | Sending data         | 0.000667 | | end                  | 0.000004 | | removing tmp table   | 0.000065 | | end                  | 0.000002 | | end                  | 0.000002 | | query end            | 0.000003 | | freeing items        | 0.000245 | | closing tables       | 0.000006 | | logging slow query   | 0.000002 | | cleaning up          | 0.000003 | +----------------------+----------+ 可以看到红色字体部分耗费了大量时间,这是因为distinct查看会用到临时表 那么可不可以查看占用cpu、 io等信息呢  mysql> show profile block io,cpu for query2; +----------------------+----------+----------+------------+--------------+------ ---------+ | Status               | Duration | CPU_user |CPU_system | Block_ops_in | Block _ops_out | +----------------------+----------+----------+------------+--------------+------   ---------+ | starting             | 0.000052 |     NULL |       NULL |         NULL |    NULL | | Opening tables       | 0.000009 |     NULL |       NULL |         NULL |    NULL | | System lock          | 0.000003 |     NULL |       NULL |         NULL |    NULL | | Table lock           | 0.000007 |     NULL |       NULL |         NULL |    NULL | | init                 | 0.000013 |     NULL |       NULL |         NULL |    NULL | | optimizing           | 0.000003 |     NULL |       NULL |         NULL |    NULL | | statistics           | 0.000009 |     NULL |       NULL |         NULL |    NULL |     | preparing            | 0.000008 |     NULL |       NULL |        NULL |    NULL | | Creating tmp table   | 0.000074 |     NULL |       NULL |         NULL |    NULL | | executing            | 0.000002 |     NULL |       NULL |         NULL |    NULL | | Copying to tmp table | 1.916551 |     NULL |       NULL |        NULL |    NULL | | Sending data         | 0.000667 |     NULL |       NULL |         NULL |    NULL | | end                  | 0.000004 |     NULL |       NULL |         NULL |    NULL | | removing tmp table   | 0.000065 |     NULL |       NULL |         NULL |    NULL | | end                  | 0.000002 |     NULL |       NULL |         NULL |    NULL | | end                  | 0.000002 |     NULL |       NULL |         NULL |    NULL | | query end            | 0.000003 |     NULL |       NULL |         NULL |    NULL | | freeing items        | 0.000245 |     NULL |       NULL |         NULL |    NULL | | closing tables       | 0.000006 |     NULL |       NULL |         NULL |    NULL |   | logging slow query   | 0.000002 |     NULL |       NULL |         NULL |    NULL | | cleaning up          | 0.000003 |     NULL |       NULL |         NULL |    NULL | +----------------------+----------+----------+------------+--------------+------另外还可以看到memory,swaps,context switches,source 等信息 具体信息可以参考http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html  作者 aeolus_pu bitsCN.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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apr 17, 2024 pm 02:57 PM

HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

Penggunaan operasi bahagian dalam Oracle SQL Penggunaan operasi bahagian dalam Oracle SQL Mar 10, 2024 pm 03:06 PM

"Penggunaan Operasi Bahagian dalam OracleSQL" Dalam OracleSQL, operasi bahagi ialah salah satu operasi matematik yang biasa. Semasa pertanyaan dan pemprosesan data, operasi pembahagian boleh membantu kami mengira nisbah antara medan atau memperoleh hubungan logik antara nilai tertentu. Artikel ini akan memperkenalkan penggunaan operasi pembahagian dalam OracleSQL dan memberikan contoh kod khusus. 1. Dua cara operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi boleh dilakukan dalam dua cara berbeza.

Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Mar 11, 2024 pm 12:09 PM

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan yang biasa digunakan, setiap satunya mempunyai sintaks dan ciri SQL tersendiri. Artikel ini akan membandingkan dan membezakan antara sintaks SQL Oracle dan DB2, dan memberikan contoh kod khusus. Sambungan pangkalan data Dalam Oracle, gunakan pernyataan berikut untuk menyambung ke pangkalan data: CONNECTusername/password@database Dalam DB2, pernyataan untuk menyambung ke pangkalan data adalah seperti berikut: CONNECTTOdataba

Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Feb 19, 2024 am 11:24 AM

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Feb 26, 2024 pm 07:48 PM

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Bagaimanakah java menggunakan pemintas pemacu MySQL untuk melaksanakan pengiraan sql yang memakan masa? Bagaimanakah java menggunakan pemintas pemacu MySQL untuk melaksanakan pengiraan sql yang memakan masa? May 27, 2023 pm 01:10 PM

Latar Belakang: Salah satu keperluan syarikat ialah komponen log penjejakan pautan sedia ada syarikat mesti menyokong pencetakan masa pelaksanaan SQL MySQL Kaedah biasa untuk melaksanakan penjejakan pautan adalah dengan melaksanakan antara muka pemintas atau antara muka penapis yang disediakan oleh rangka kerja atau alat pihak ketiga. MySQL tidak terkecuali, ia hanya melaksanakan antara muka pemintas yang didorong oleh MySQL. Terdapat versi saluran yang berbeza yang secara khusus melaksanakan MySQL, dan antara muka pemintas versi berbeza adalah berbeza, jadi anda perlu melaksanakan pemintas tindak balas mengikut versi berbeza pemacu MySQL yang anda gunakan Seterusnya, kami akan memperkenalkan saluran MySQL 5 dan 6 pelaksanaan versi masing-masing. MySQL5 dilaksanakan di sini menggunakan saluran MySQL versi 5.1.18 sebagai contoh untuk melaksanakan Statem

Bagaimana untuk menyelesaikan ralat 5120 dalam SQL Bagaimana untuk menyelesaikan ralat 5120 dalam SQL Mar 06, 2024 pm 04:33 PM

Penyelesaian: 1. Semak sama ada pengguna log masuk mempunyai kebenaran yang mencukupi untuk mengakses atau mengendalikan pangkalan data, dan pastikan pengguna mempunyai kebenaran yang betul 2. Semak sama ada akaun perkhidmatan SQL Server mempunyai kebenaran untuk mengakses fail yang ditentukan atau folder, dan pastikan akaun Mempunyai kebenaran yang mencukupi untuk membaca dan menulis fail atau folder 3. Semak sama ada fail pangkalan data yang ditentukan telah dibuka atau dikunci oleh proses lain, cuba tutup atau lepaskan fail, dan jalankan semula pertanyaan 4 . Cuba sebagai pentadbir Jalankan Studio Pengurusan seperti dsb.

Bagaimana untuk melaksanakan Springboot+Mybatis-plus tanpa menggunakan pernyataan SQL untuk menambah berbilang jadual Bagaimana untuk melaksanakan Springboot+Mybatis-plus tanpa menggunakan pernyataan SQL untuk menambah berbilang jadual Jun 02, 2023 am 11:07 AM

Apabila Springboot+Mybatis-plus tidak menggunakan pernyataan SQL untuk melaksanakan operasi penambahan berbilang jadual, masalah yang saya hadapi akan terurai dengan mensimulasikan pemikiran dalam persekitaran ujian: Cipta objek BrandDTO dengan parameter untuk mensimulasikan parameter yang dihantar ke latar belakang bahawa adalah amat sukar untuk melaksanakan operasi berbilang jadual dalam Mybatis-plus Jika anda tidak menggunakan alatan seperti Mybatis-plus-join, anda hanya boleh mengkonfigurasi fail Mapper.xml yang sepadan dan mengkonfigurasi ResultMap yang berbau dan kemudian. tulis pernyataan sql yang sepadan Walaupun kaedah ini kelihatan menyusahkan, ia sangat fleksibel dan membolehkan kita

See all articles