18.1、优化简介

SHOW STATUS LIKE ‘value’;
connections                 连接数
uptime                          启动时间
slow_queries                慢查询次数
com_select                   查询操作次数
com_insert                    插入操作次数
com_update                 更新操作次数
com_delete                  删除操作次数

18.2、优化查询

18.2.1、分析查询语句

Explain/desc select;

type:   连接类型
system        表中只有一条记录
const           表中有多条记录,但只从表中查询一条记录
all                对表进行了完整的扫描
eq_ref         表示多表连接时,后面的表使用了unique或PRIMARYKEY
ref               表示多表查询时,后面的表使用了普通索引
unique_subquery 表示子查询中合作了unique或primary key
index_subquery  表示子查询中使用了普通索引
range           表示查询中给出了查询的范围
index           表示对表中索引进行了完整的扫描
possible_key    表示查询中可能使用的索引
key                  表示查询时使用到的索引

18.2.2、索引

1、走单列索引
2、走多列索引
3、不走索引的查询
         Like 以 %开头的不走
         Or 两边的列有一个没有建立索引不走索引
         多列索引第一个字段没有使用不走索引

18.3、优化数据库结构

18.3.1、将字段很多的表分解成多个表

18.3.2、增加中间表

18.3.3、增加冗余字段

反范式

   空间换时间

18.3.4、优化插入记录的速度

1、禁用索引
         ALTERTABLE table DISABLE/ENABLE KEYS;
2、禁用唯一索引
         STUNIQUE_CHECK=0/1
3、优化INSERT语句
         使用 INSERT INTO table (f1,f2….fn) VALUES (v1,v2….vn),
                              (f1,f2….fn) VALUES (v1,v2….vn),
    (f1,f2….fn) VALUES (v1,v2….vn),
    …
         代替多个INSERT INTO

18.3.5、分析、检查和优化表

ANALYZETABLE  table1[, table2…]
         CHECKTABLE  table1[, table2…]
     OPTIMIZE TABLE  table1[, table2…]
         优化文本字段,消除更新操作带来的碎片,减少空间浪费

18.4、优化MySQL服务器

18.4.1、优化服务器硬件

CPU
         磁盘,阵列
         内存
         配置(专用服务器,大内存配置)

18.4.2、优化MySQL参数

my.ini

MySQL基础之第18章 性能优化的更多相关文章

  1. MySQL查询语句执行过程及性能优化(JOIN/ORDER BY)-图

    http://blog.csdn.net/iefreer/article/details/12622097 MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY) 标签 ...

  2. MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)

    在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子:

  3. MySQL学习笔记(二)性能优化的笔记(转)

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  4. 高性能MySQL第2,3章性能相关 回顾笔记

    1.  基准测试(benchmark)   不管是新手还是专家都要熟悉基准测试,benchmark测试是对系统的一种压力测试,目标是为了掌握在特定压力下系统的行为.也有其他原因:如重现系统状态,或者是 ...

  5. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介

    网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询 ...

  6. MySQL学习笔记:select语句性能优化建议

    关于SQL中select性能优化有以下建议,仅当笔记记录. 1.检查索引:where.join部分字段都该加上索引 2.限制工作数据集的大小:利用where字句过滤 3.只选择需要的字段:减少IO开销 ...

  7. MYSQL ini 配置文件详解及性能优化方案

    my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show va ...

  8. 高性能MySQL(五):查询性能优化

    当向MySQL 发送一个请求的时候MySQL 到底做了什么? 1.客户端发送一条查询给服务器 2.服务器先检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果.否则进入下一阶段 3.服务器端进行 ...

  9. MySQL基础之第17章 MySQL日志

    17.1.日志简介 二进制日志错误日志通用查询日志慢查询日志 17.2.二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况.通过二进制日志可以查询MySQL数据 ...

随机推荐

  1. Eclipse下Python的MySQLdb的安装以及相关问题

    前提是要安装好Python以及eclipse和MySQL的相应版本.本文Python为2.7,MySQL为5.1Eclipse为3.6.2 下载完MySQLdb以后,直接安装即可.在eclipse中启 ...

  2. SSH乱码和Xshell异常断开解决方法

    一.SSH Secure Shell Client中文乱码的解决方法 这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,我终于知道Wind ...

  3. 卷积相关公式的matlab代码

    取半径=3 用matlab代码实现上式公式: length=3;for Ki = 1:length for Kj = 1:length for Kk = 1:length Ksigma(Ki,Kj,K ...

  4. shell脚本接收输入

    shell脚本接受输入 while read var do cat logs | grep IconsendRedirect | grep $var | awk -F'\t' '{print $8}' ...

  5. UML系列03之UML时序图

    时序图介绍 时序图(Sequence Diagram),亦称为序列图或循序图,是一种UML行为图.时序图是用来描述系统内部是如何交互运作的,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协 ...

  6. swift:用UITabBarController、UINavigationController、模态窗口简单的搭建一个QQ界面

    搭建一个QQ界面其实是一个很简单的实现,需要几种切换视图的控制器组合一起使用,即导航控制器.标签栏控制器.模态窗口.其中,将标签栏控制器设置为window的rootViewController,因为Q ...

  7. Android 禁止进入activity自动弹出键盘

    在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUnchanged" 附相关属性 ...

  8. eclipse运行mapreduce报错Permission denied

    今天用在eclipse-hadoop平台上运行map reduce(word count)出错了,错误信息为 org.apache.hadoop.security.AccessControlExcep ...

  9. PHP代码优化技巧大盘点

    PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码.本文给大家提供全面的优化技巧. 1.echo比print快. 2.使用echo的多重参数代替字符串连接. 3.在执行for循环之前确 ...

  10. mysql 授权 打开全部

    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "."FLUSH PRIVILEGES;