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:慢查询的次数
一 优化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:慢查询的次数