Analyse de requêtes
Vous pouvez utiliser le schéma de performances et le schéma Sys pour analyser les requêtes exécutées sur le système de base de données.
Le schéma de performances permet d'inspecter l'exécution interne du serveur lors de l'exécution. Il se concentre principalement sur les données de performances, tandis que le schéma sys aide à interpréter les données collectées par le schéma de performances.
Par exemple, si vous souhaitez rechercher la requête qui consomme la majeure partie du temps d'exécution (latence), exécutez la commande suivante :
SELECT schema_name, format_pico_time(total_latency) tot_lat,
exec_count, format_pico_time(total_latency/exec_count)
latency_per_call, query_sample_text
FROM sys.x$statements_with_runtimes_in_95th_percentile as t1
JOIN performance_schema.events_statements_summary_by_digest as t2 on t2.digest=t1.digest
WHERE schema_name not in ('performance_schema', 'sys')
ORDER BY (total_latency/exec_count) desc limit 1\G
*************************** 1. row ***************************
schema_name: employees
tot_lat: 21.54 s
exec_count: 4
latency_per_call: 5.38 s
query_sample_text: select * from salaries where salary > 80000
1 row in set (0.0127 sec)
Le schéma Sys contient également une vue d'analyse d'instruction que vous pouvez utiliser pour rechercher les requêtes incorrectes. Exemples :
SELECT * FROM sys.statement_analysis
WHERE db notin('performance_schema','sys')limit1\G
***************************1.row***************************
query: SELECT`new_table`.`title`,...`title`ORDERBY`salary`DESC
db: employees
full_scan:
exec_count: 11
err_count: 0
warn_count: 0
total_latency: 38.96 s
max_latency: 5.15 s
avg_latency: 3.54 s
lock_latency: 33.00 us
cpu_latency: 0 ps
rows_sent: 77
rows_sent_avg: 7
rows_examined: 13053117
rows_examined_avg: 1186647
rows_affected: 0
rows_affected_avg: 0
tmp_tables: 22
tmp_disk_tables: 11
rows_sorted: 77
sort_merge_passes: 0
digest: 922701de9e5c51847f9f7de245b88fef4080b515ba8805082cd90c32830714eb
first_seen: 2022-10-1220:45:50.770465
last_seen: 2022-10-1311:49:13.1402281rowinset(0.0022 sec)
Rubriques connexes