sql优化

sql优化
一 优化sql的一般步骤
http://downloads.mysql.com/docs/sakila-db.zip
sakila-schema.sql 表结构
sakila-data.sql 数据
sakila.mvb 数据模型

1.通过show status命令了解各种sql的执行频率

显示服务器状态信息
语法
show [session|global] status ;

显示当前session中所有统计参数值
show status like 'Com_%';

VARIABLES          VALUE
Com_admin_commands    0
Com_assign_to_keycache    0
Com_alter_db    0
Com_alter_db_upgrade    0
Com_alter_event    0
Com_alter_function    0
Com_alter_procedure    0
Com_alter_server    0
...
Com_xxx表示每个xxx语句执行的次数:
Com_select:执行select操作的次数,一次查询只累加1
Com_insert:    执行insert操作的次数,对于批量插入的insert操作,只累加1次
Com_update:执行update操作的次数
Com_delete:执行delete操作的次数

以上参数对所有存储引擎的表操作都会进行累计,
其中
innodb_rows_read:select查询返回的行数
innodb_rows_inserted:执行insert操作更新的行数
innodb_rows_updated:执行update操作更新的行数
innodb_rows_deleted:执行delete操作更新的行数

只针对innodb存储引擎,累加的算法也略有不同.

通过以上这四个参数就可以知道,当前数据库是以插入更新为主,还是以查询为主.以及各种类型的sql大致执行的比例是多少.对于更新操作的计数(针对次数的计数),不论提交或是回滚都会累加.
对于事务型的应用,通过Com_commit,和Com_rollback可以了解事务提交和回滚的情况,对于回滚很频繁的数据库,可能存在这应用编写存在问题.

Connections:试图连接mysql数据库的次数
Uptime:服务器工作时间
Slow_queries:慢查询的次数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值