码迷,mamicode.com
首页 > 数据库 > 详细

MySQL笔记:性能优化

时间:2018-03-28 01:39:26      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:上线   display   select   border   cti   分解   mysql笔记   cache   ike   

一、查询性能

技术分享图片
SHOW STATUS LIKE Connections; #连接次数
SHOW STATUS LIKE Uptime; #上线时间
SHOW STATUS LIKE Slow_queries; #慢查询次数
SHOW STATUS LIKE Com_select; #查询次数
SHOW STATUS LIKE Com_insert; #插入次数
SHOW STATUS LIKE Com_update; #更新次数
SHOW STATUS LIKE Com_delete; #删除次数
View Code


二、优化查询

分析查询语句示例。

技术分享图片
EXPLAIN SELECT *
        FROM mysql.user;
DESCRIBE SELECT *
         FROM mysql.user;
View Code

 

三、优化数据库结构

提高查询速度。

  • 将字段很多的表分解为多个表,避免使用频率低的字段降低查询速度。
  • 增加中间表,提高联表查询的速度。
  • 增加冗余字段,尽量减少多表查询。

提高插入速度。

  • 禁用索引,避免在索引在插入时进行排序降低插入速度。
  • 禁用唯一性检查,避免校检带来的开销。
  • 简化插入语句,减少多个插入语句执行时连接数据库带来的开销。
技术分享图片
ALTER TABLE student
  DISABLE KEYS; #禁用索引

ALTER TABLE student
  ENABLE KEYS; #开启索引

SET UNIQUE_CHECKS = 0; #禁用唯一性检查
SET UNIQUE_CHECKS = 1; #开启唯一性检查
View Code

分析、检查和优化表。

技术分享图片
ANALYZE TABLE mysql.user;
CHECK TABLE mysql.user;
OPTIMIZE TABLE mysql.user;
View Code


四、优化服务器

通过修改部分数据库参数可以提高服务器性能。部分重要参数如下

key_buffer_size 索引缓存大小
table_cache 同时打开表的数量 
query_cache_size 查询缓存大小 
query_cache_type 查询缓存的开启状态 
max_connections 最大连接数 
sort_buffer_size 排序缓存大小 
read_buffer_size 线程缓存大小 
innodb_buffer_pool_size InnoDB表和索引的缓存大小 

MySQL笔记:性能优化

标签:上线   display   select   border   cti   分解   mysql笔记   cache   ike   

原文地址:https://www.cnblogs.com/arseneyao/p/8660037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!