当前位置: 首页 > news >正文

performance_schema

插桩名称的最左边部分表示插桩类型,其余部分从左到右依次表示到特定的子系统

mysql> select * from performance_schema.setup_instruments where documentation is not null limit 5,5\G;
*************************** 1. row ***************************NAME: wait/synch/mutex/refcache/refcache_channel_mutexENABLED: NOTIMED: NOPROPERTIES: FLAGS: NULLVOLATILITY: 0
DOCUMENTATION: A mutex to guard access to the channels list

1. 当前和历史数据

1.1 存放事件的表名

1)当前服务器上进行的事件:*_current
2)每个线程最近完成的10个事件:*_history
3)从全局看,每个线程最近完成的10000个事件:*_history_long

1.2 当前和历史数据

1)event_waits:底层服务器等待,例如获取互斥对象
2)event_statements:sql查询语句
3)event_stages:配置文件信息,例如创建临时表或发送数据
4)event_transactions:事务--开启插桩
call sys.ps_setup_enable_instrument('statement/sql/select');
select * from events_statements_history\G;

1.3 查看没有合适索引的查询sql

select THREAD_ID,SQL_TEXT,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_TABLES,NO_INDEX_USED,NO_GOOD_INDEX_USED from performance_schema.events_statements_history_long where NO_INDEX_USED > 0 or NO_GOOD_INDEX_USED > 0;

1.4 查询创建临时表的查询sql

select THREAD_ID,SQL_TEXT,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_TABLES,NO_INDEX_USED,NO_GOOD_INDEX_USED from performance_schema.events_statements_history_long where CREATED_TMP_TABLES > 0 or CREATED_TMP_DISK_TABLES > 0;

1.5 查询执行报错的sql

select THREAD_ID,SQL_TEXT,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_TABLES  from performance_schema.events_statements_history_long where ERRORS > 0;

1.6 查询执行时间大于 5s的sql

select THREAD_ID,SQL_TEXT,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_TABLES  from performance_schema.events_statements_history_long where TIMER_WAIT > 5000000000;

2. 启用预处理语句检查

 select * from performance_schema.setup_instruments where documentation is not null\G;
--启用插桩
call sys.ps_setup_enable_instrument('statement/sql/prepare_sql');
call sys.ps_setup_enable_instrument('statement/sql/execute_sql');
call sys.ps_setup_enable_instrument('statement/com/Prepare');
call sys.ps_setup_enable_instrument('statement/com/Execute');prepare stmt from 'sql_text'
set @xx='xxx';
execute stmt using @xx;

3. 查看语句延时情况

select EVENT_NAME,count(EVENT_NAME),sum(lock_time/1000000) as latency_ms from performance_schema.events_statements_history group by EVENT_NAME order by latency_ms desc;

4. 元数据锁

--开启插桩
call sys.ps_setup_enable_instrument('wait/lock/meta-data/sql/dml');--查询元数据锁
select PROCESSLIST_ID,OBJECT_TYPE,LOCK_TYPE,LOCK_STATUS,SOURCE from metadata_locks join reheads on (OWNER_THREAD_ID=THREAD_ID) where OBJECT_SCHEMA='xxx' and OBJECT_NAME='xxx';

5. 内存使用查询

select * from sys.memory_global_total;
select thread_id tid,user, current_allocated ca,total_allocated from sys.memory_by_thread_by_current_bytes limit 9;

6. 查询线程状态

 select * from performance_schema.status_by_thread;
http://www.lryc.cn/news/176285.html

相关文章:

  • 全新UI基于Thinkphp的最新自助打印系统/云打印小程序源码/附教程
  • Android 13.0 framework层系统手势增加上滑手势home事件功能(相当于Home键)
  • webp格式及其转成
  • echo cat find grep命令
  • Linux学习第20天:Linux按键输入驱动开发: 大道至简 量入为出
  • WordPress主题开发( 七)之—— 模版文件继承规则
  • Simulink 封装
  • 【AI视野·今日Robot 机器人论文速览 第三十六期】Tue, 19 Sep 2023
  • Java随笔
  • ARINC825规范简介
  • SQLAlchemy列参数的使用和query函数的使用
  • 产权未转移登记的离婚析产协议不能对抗债权人
  • python+nodejs+php+springboot+vue 导师双选系统
  • paddle2.3-基于联邦学习实现FedAVg算法
  • 伺服丝杠系统常用运算功能块
  • 【Vue】模板语法,事件处理器及综合案例、自定义组件、组件通信
  • 从0开始写中国象棋-创建棋盘与棋子
  • 软件的开发步骤,需求分析,开发环境搭建,接口文档 ---苍穹外卖1
  • Qt扫盲-QSqlQueryModel理论总结
  • 分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)
  • 【单调栈】496. 下一个更大元素 I
  • 搭建Vue的开发环境,Edge浏览器安装VUE拓展工具
  • 14:00面试,14:06就出来了,这问的谁顶得住啊
  • python 探索分形世界|曼德布洛特|np.frompyfunc()
  • Android MVVM示例项目
  • 迅为龙芯2K1000开发板通过汇编控制GPIO
  • 合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”
  • Django — 类视图和中间件
  • VMware安装CentOS Stream 8以及JDK和Docker
  • MySQL作业1