提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-10-14 13:36:07.257|阅读 676 次
概述:Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。本文主要介绍MySQL 8性能架构如何帮助诊断查询死锁。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
MySQL 5.5增加了performance_schema和information_schema数据库。正如前面文章内容,information_schema中的表包含有关表、插件、分区、进程列表、状态和全局变量的统计信息。顾名思义,Performance_schema的表可用于改善MySQL实例的性能。如何做到这一点将成为今天文章的主题。就像上次一样,我们将使用Navicat Premium演示各种查询。
简要概述
性能模式是一种用于在低级别监视MySQL服务器执行的工具。性能架构的存储引擎共享了“performance_schema”名称,以便于与其他存储引擎区分开。拥有自己的引擎使我们能够访问有关服务器执行的信息,同时对服务器性能的影响最小。此外,它使用视图或临时表,以最大程度地减少持久性磁盘存储。最后,内存分配全部在服务器启动时完成,因此没有进一步的内存重新分配或大小调整,这极大地简化了性能。
从MySQL 5.6.6起默认启用性能模式。在该版本之前,默认情况下处于禁用状态。您可以使用以下语句验证其状态:

如果需要,可以始终通过使用——performance-schema = ON标志启动服务器来显式启用它。
现在,我们来看看Performance_schema的一些实际应用。
互斥锁和线程速成班
互斥锁是代码中使用的一种同步机制,用于强制在给定时间只有一个线程可以访问某些公共资源。据说该资源已由互斥锁“保护”。“Mutex”一词是“互斥变量”的非正式缩写,它本身是“互斥”的缩写。在MySQL中,它是InnoDB用于表示和强制对内部内存数据结构进行互斥锁的低级对象。运作方式如下:
一旦获取了锁,就可以防止任何其他进程,线程等获取相同的锁。在InnoDB中,执行的多个线程访问共享的数据结构。InnoDB将这些访问与自己的互斥锁和读/写锁实现同步。当服务器中执行的两个线程(例如,同时执行查询的两个用户会话)需要访问相同的资源(例如文件、缓冲区或某些数据)时,这两个线程将相互竞争,因此获得互斥锁的第一个查询将导致另一个查询等待,直到第一个查询完成并解锁互斥锁。如果第一个线程需要很长时间才能完成,则它可能会阻止其他进程。
一些有用的查询
所有互斥锁都在“性能模式”的Mutex_instances表中列出,这对于调查性能瓶颈非常有帮助。Mutex_instances.LOCKED_BY_THREAD_ID和rwlock_instances.WRITE_LOCKED_BY_THREAD_ID列对于调查性能瓶颈或死锁非常重要。使用方法如下:
假设线程1处于等待互斥的状态。
您可以确定线程正在等待什么:

如果查询结果标识线程正在等待互斥锁A,可在events_waits_current.OBJECT_INSTANCE_BEGIN中找到。
您可以确定哪个线程持有互斥锁A:

假设查询结果表明它是持有互斥锁A的线程2,如在Mutex_instances.LOCKED_BY_THREAD_ID中找到的那样。
您可以使用此查询查看线程2在做什么:

结论
在今天的文章中,我们学习了如何使用性能模式来诊断MySQL 8中的瓶颈和/或死锁。一种更简单的方法是使用Navicat Monitor。它具有一个查询分析器,该分析器显示所有正在执行的查询的摘要信息,并让您轻松检测死锁,例如当两个或多个查询永久相互阻塞时。
相关内容推荐:
想要购买该产品正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在现代软件开发过程中,自动化单元测试是确保代码质量与可靠性的关键环节。尤其对于特定框架(如MFC)的代码,测试复杂度显著增加,常因依赖外部资源或交互操作而难以在静默环境中顺利执行。Parasoft C/C++test作为专业的软件测试工具,致力于帮助开发团队高效实施自动化测试,通过其强大的桩函数功能,能够有效模拟依赖组件的行为,从而实现对复杂逻辑的隔离测试。
本文将为大家介绍如何在MyEclipse中使用XDoclet开发EJB 2 Session Bean,欢迎下载最新版体验!
如果能将 CSV 自动转换为 PDF ,就能快速生成清晰、美观的报表,既节省手动排版时间,又能保持数据的专业呈现。本文将介绍如何使用 Spire.XLS for Java 实现这一过程——从加载 CSV 到输出高质量 PDF,仅需数行代码即可完成。
Parasoft C/C++test是一款专为C/C++代码设计的自动化测试工具,通过静态代码分析、单元测试和运行时错误检测等功能,帮助开发团队在早期发现并修复缺陷,提升代码质量和开发效率 。在实际使用中,尤其是在VC6此类旧版开发环境中执行单元测试时,可能会因环境兼容性问题触发链接错误。
相关产品
Navicat Premium 是一套数据库管理工具,让你使用一个程序即可同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。
Navicat Monitor安全、简单而且无代理的远程服务器监控工具。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站