MySQL优化

一、SQL语句优化

1、通过show status 了解各种sql的执行频率

  show[session|global] status;
  其中session(默认)表示当前连接,global表示自数据库启动至今
 
优化SQL语句 - Kelly Cen - __kelly_

 优化SQL语句 - Kelly Cen - __kelly_

优化SQL语句 - Kelly Cen - __kelly_

 

  参数说明:
  Com_XXX表示每个XXX语句执行的次数
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
  只针对InnoDB存储引擎的:
 
优化SQL语句 - Kelly Cen - __kelly_
 
  其他的:
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
2、定位执行效率较低的sql语句
 
优化SQL语句 - Kelly Cen - __kelly_
 
优化SQL语句 - Kelly Cen - __kelly_
 
 
二、两个常用的优化方法
  1、定期分析表和检查表
两个常用的优化方法(原创) - Kelly Cen - __kelly_
 
  2、定期优化表
两个常用的优化方法(原创) - Kelly Cen - __kelly_
 
 
三、常用SQL优化
 
1、load备份数据和还原数据,比mysqldump更快
 
常用SQL优化 - Kelly Cen - __kelly_
 
常用SQL优化 - Kelly Cen - __kelly_
 
2、使用与不使用 打开或关闭myisam非唯一表索引
 
常用SQL优化 - Kelly Cen - __kelly_
 
常用SQL优化 - Kelly Cen - __kelly_
 
3、关闭唯一性校验可以提高导入效率
 
常用SQL优化 - Kelly Cen - __kelly_
 
常用SQL优化 - Kelly Cen - __kelly_
 
4、优化insert语句
(1)、尽量使用多个值表的语句,这样可以大大缩短客户与数据库的链接,关闭等损耗;
(2)、可以使用insert delayed(马上执行)语句得到更高的效率;
(3)、将索引文件和数据文件分别存放在不同的磁盘上;
(4)、可以增加bulk_insert_buffer_size变量值的方法来提高速度,但是只对myisam表有用;
(5)、从一个文件中装载一个表,使用 load data infile,这个通常比使用很多insert语句快20倍
 
5、优化group by语句
若想避免排序结果的损耗,则可以使用order by null来禁止排序
posted @ 2015-01-25 23:14  __kelly_  阅读(609)  评论(0)    收藏  举报