首页 > 代码库 > MySQL优化

MySQL优化

一、SQL语句优化

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

  show[session|global] status;
  其中session(默认)表示当前连接,global表示自数据库启动至今
 
技术分享

 技术分享

技术分享

 

  参数说明:
  Com_XXX表示每个XXX语句执行的次数
 
技术分享
 
技术分享
 
技术分享
 
技术分享
 
  只针对InnoDB存储引擎的:
 
技术分享
 
  其他的:
 
技术分享
 
技术分享
 
技术分享
 
2、定位执行效率较低的sql语句
 
技术分享
 
技术分享
 
 
二、两个常用的优化方法
  1、定期分析表和检查表
技术分享
 
  2、定期优化表
技术分享
 
 
三、常用SQL优化
 
1、load备份数据和还原数据,比mysqldump更快
 
技术分享
 
技术分享
 
2、使用与不使用 打开或关闭myisam非唯一表索引
 
技术分享
 
技术分享
 
3、关闭唯一性校验可以提高导入效率
 
技术分享
 
技术分享
 
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来禁止排序

MySQL优化