MySQL 基础知识梳理学习(一)----系统数据库
information_schema
此数据库是MySQL数据库自带的,主要存储数据库的元数据,保存了关于MySQL服务器维护的所有其他数据库的信息,如数据库名、数据库表、表列的数据类型及访问权限等。
这个库在很多情况下,可以帮助我们做一些自动化处理的工作,比如巡检程序找到所有的MyISAM表,或者是找到所有的自增列快达到上限的表。很多工具的信息来源,比如Percona Toolkit,它在查一些信息的时候也是通过在这个库上执行SQL语句来做的。
这个库有其明显的缺点:它在每次查找的时候,都会现场统计相应的信息,这需要将相应的信息加载到内存中,做成内存表,然后将信息返回给客户端,但如果比较多的话,这些语句的执行就会很慢,造成一些不可预知的风险,需要谨慎处理。
performance_schema
此库是MySQL 5.5 新增的,主要是关注性能的,主要用于收集数据库服务器性能参数指标的。主要提供以下功能:
1.提供进程等待的详细信息,包括锁、互斥变量、文件信息等。
2.保存历史事件汇总信息,为判断MySQL服务器性能提供详细的依据。
3.添加或删除监控事件点都非常容易,并可以随意改变MySQL服务器的监控周期。
Sys
此库是MySQL 5.7新增的,这个库类似Oracle中的动态视图,通过这些视图可以快速地了解系统的元数据,并非常方便地让DBA发现数据库的很多信息,在解决性能瓶颈、自动化运维等方面可以提供很大的帮助。
这个库是通过视图的形式把information_schema和performance_schema结合起来,查询出让人更容易理解的结果。因sys依赖information_schema,所以上文提到的缺点不足,sys同样存在。
1.查询实例上使用次数最多的5条SQL命令
1 | select db,exec_count,query from statement_analysis order by exec_count desc limit 5; |
2.查看实例内存使用情况
1 | select * from memory_global_total; |
3.查看各线程消耗内存的情况,也可针对某一指标进行统计、排序。
1 | select * from memory_by_thread_by_current_bytes limit 10 |
4.查看内部对象内存消耗
1 | select * from memory_global_by_current_bytes; |
-----部分内容参考梳理于网络知识,在此感谢!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库