Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL – Dapatkan Biaya Permintaan Terakhir Menggunakan SHOW STATUS LIKE 'Last_Query_Cost'

Selama webcast baru-baru ini yang saya lakukan untuk Idera, saya dengan senang hati menunjukkan cukup banyak trik dan tip baru. Salah satu tips yang paling dihargai adalah tentang cara mendapatkan Last Query Cost di MySQL menggunakan perintah SHOW STATUS LIKE 'Last_Query_Cost'. Mari kita pelajari hari ini.

Jika Anda menggunakan SQL Server, sangat mudah untuk mendapatkan biaya kueri dengan menggunakan rencana eksekusi grafis, rencana eksekusi XL atau menggunakan DMV cache rencana. Namun, jika Anda menggunakan MySQL, sangat sulit untuk mengetahui biaya kueri terakhir. Saya sering melihat selama Pemeriksaan Kesehatan Kinerja Database Komprehensif bahwa DBA ingin menyesuaikan kueri MySQL mereka tetapi mereka tidak tahu bagaimana mengukur kinerja kueri mereka.

Jika Anda menggunakan MySQL, atau MariaDB, Anda selalu dapat mengukur kinerja kueri Anda dari segi biaya dengan menjalankan perintah berikut.

Tampilkan Status

SHOW STATUS LIKE 'Last_Query_Cost';

Berikut adalah dokumentasi resmi untuk perintah tersebut. Total biaya kueri yang dikompilasi terakhir seperti yang dihitung oleh pengoptimal kueri. Ini berguna untuk membandingkan biaya paket kueri yang berbeda untuk kueri yang sama. Nilai default 0 berarti belum ada kueri yang dikompilasi. Nilai defaultnya adalah 0. Last_query_cost memiliki cakupan sesi.

Mari kita lihat contoh sederhana cara kerjanya dengan bantuan contoh database Sakila untuk MySQL .

USE sakila;
SELECT *
FROM film f
INNER JOIN film_actor fa ON f.film_id = fa.film_id
INNER JOIN film_category fc ON fc.film_id = fa.film_id
WHERE f.film_id = 10;
SHOW STATUS LIKE 'Last_Query_Cost';

Berikut adalah hasil yang Anda dapatkan saat menjalankan kueri di atas:

Dengan bantuan status, kita dapat mengetahui berapa biaya yang diperlukan untuk menjalankan kueri. Jika Anda memiliki saran lain, beri tahu saya. Selain itu, Jika Anda ingin Memantau secara real-time untuk tindakan korektif dan penyelesaian masalah, Anda harus mempertimbangkan SQL Diagnostic Manager untuk MySQL dan MariaDB .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sintaks yang tepat untuk digunakan di dekat '?'

  2. Hubungkan Metabase dengan MySQL untuk Eksplorasi Data

  3. Cara membatasi akses port MySQL

  4. Bagaimana cara menambahkan referensi ke konektor MySQL untuk .NET?

  5. Pengantar Perintah SQL