通过show status可以提供服务器状态信息,也可以使用 msyqladmin-extende status命令获得show status可以根据需要显示session级别的统计结果和global 级别的统计结果
以下几个参数对Myisam和innodb存储引擎都计数:
1.Com_select 执行select操作次数,一次查询只累加1;
2.Com_insert 执行了insert操作次数,对于批量插入insert,只累加1次
3.Com_update 执行了update操作次数,
4.Com_delete 执行了delete操作次数
一下几个参数对Innodb存储引擎计数的,累加的算法也略有不同:
1.Innodb_rows_read select查询返回的行数;
2.Innodb_rows_inserted执行了insert操作更新的行数;
3.Innodb_rows_updated执行了update操作更新的行数;
4.Innodb_rows_deleted执行了delete操作删除的行数;
通过以上几个参数,可以很容易的了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的 SQL 大致的执行比例是多少。对于更新操作的计数 ,是对执行次数的计数,不论提交还是回滚都会累加。对于事务型的应用,通过 Com_commit 和 Com_rollback 可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。
此外,以下几个参数便于我们了解数据库的基本情况:
1. Connections 试图连接 Mysql 服务器的次数
2. Uptime 服务器工作时间
3. Slow_queries 慢查询的次数
可以通过以下两种方式定位执行效率较低的 SQL 语句:
1. 可以通过慢查询日志定位那些执行效率较低的 sql 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 写一个包含所有执行时间超过 long_query_time 秒的 SQL 语句的日志文件。可以链接到管理维护中的相关章节。
2. 慢查询日志在查询结束以后才纪录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 MySQL 在进行的线程,包括线程的状态,是否锁表等等,可以实时的查看 SQL 执行情况,同时对一些锁表操作进行优化。
通过以上步骤查询到效率低的 SQL 后,我们可以通过 explain 或者 desc 获取 MySQL 如何执行 SELECT 语句的信息,包括select 语句执行过程表如何连接和连接的次序。
explain 可以知道什么时候必须为表加入索引以得到一个使用索引来寻找记录的更快的 SELECT。
mysql> explain select sum(moneys) from sales a,companys b where a.company_id = b.id and a.year = 2006;
相关推荐
用Java编写链接mysql数据库,内附sql文件,有注释,适合新手学习
Node+Express+mysql实现CRUD
本技术采用jsp+mysql+jdbc实现的,对于大牛可绕道,新学习是一个好的资源。
Springboot+mysql+CRUD(增删改查) 告别mybatis 这东西配置起来和用起来简直是噩梦啊,太难用了,出错以后无法查找
关于ibatis连接MSSQL和MySQL的CRUD,Junit4测试
android crud opration
去mysql-crud 使用Golang和MySql的示例Crud操作 API端点 所有帖子 路径: /posts 方法: GET 回应: 200 建立讯息 路径: /posts 方法: POST 字段: title, content 回应: 201 详细信息 路径: /posts/{id} ...
android+json+php+mysql+CRUD功能,需要的下载吧。
Golang Mysql CRUD 这是使用MySQL数据库和Golang的CRUD(创建,读取,更新,删除) 有3个源文件: main.go->用英语评论 main-pt-br.go->葡萄牙语注释-巴西 main-uncommented->没有任何评论 所有代码均以英语编写...
MySQL学习笔记,实例总结了MySQL学习中遇到的各类常见问题与实用技巧,需要的朋友可以参考下
SpringMVC+Hibernate +MySql+ EasyUI实现CRUD
reactjs-nodejs-mysql-crud 使用Nodejs后端,UI的reactjs和数据库MySQL进行CRUD(创建读取更新删除)的简单方法
利用C#于myqsl完成的简单CRUD 有登陆,注册,注销等简单功能,初学者简单易懂
具有CRUD功能的信息记录应用系统,通过MySQL连接到PhP WampServer。 该项目的目标是开发一个三层的Apache MySQL服务应用程序,以演示使用Java和JDBC的Web和数据库连接。 (对于我的分布式系统分配) 我使用WAMP开发...
通过SpringBoot+JPA+MySQL+Swagger+Redis实现CRUD,对数据库进行增删改查,分页查找的接口文档
crystal-mysql-crud-example:Crystal MySQL CRUD示例
这是源码,有注释,可直接运行,test.java为测试类。有建表语句
电子MySQL CRUD
Crud应用程序使用烧瓶和MySQL 一个使用Flask和MySQL的简单CRUD应用程序 建于 Python Python库:flask和pymysql MySQL AdminLTE 2 在Docker上运行 docker-compose up -d 执行后,您将在Docker主机上有两个正在...
CRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rarCRUD.rar