mysql优化--叶金荣老师讲座笔记

copy to tmp table

执行ALTER TABLE修改表结构时

建议:凌晨执行

Copying to tmp table

拷贝数据到内存中的临时表,常见于GROUP BY操作时

建议:创建索引

Copying to tmp table on disk

临时结果集太大,内存中放不下,需要将内存中的临时表拷贝到磁盘上,形成 #sql***.MYD、#sql***.MYI

建议:创建索引,加大sort_buffer_size/tmp_table_size/max_heap_table_size

Creating sort index

当前的SELECT中需要用到临时表在进行ORDER BY排序

建议:创建索引

Creating tmp table

创建基于内存或磁盘的临时表,当从内存转成磁盘的临时表时,状态会变成:Copying to tmp table on disk

建议:创建索引

Sending data

从server端发送数据到客户端,也有可能是接收存储引擎层返回的数据,再发送给客户端,数据量很大时尤其经常能看见

建议:通过索引或LIMIT,减少需要扫描的数据量

Sending Data不是网络发送,是从硬盘读取

发送到网络是Writing to net

Using temporary

需要用临时表存储结果集,通常是因为group by的列上没有索引。也有可能是因为同时有group by和order by,但group by和order by的列又不一样

时间: 2024-10-12 13:17:27

mysql优化--叶金荣老师讲座笔记的相关文章

[MySQL优化案例]系列 — 典型性索引引发CPU负载飙升问题

收到一个mysql服务器负载告警,上去一看,load average都飙到280多了,用top一看,CPU跑到了336%,不过IO和内存的负载并不高,根据经验,应该又是一起索引引起的惨案了. 看下processlist以及slow query情况,发现有一个SQL经常出现,执行计划中的扫描记录数看着还可以,单次执行耗时为0.07s,还不算太大.乍一看,可能不是它引发的,但出现频率实在太高,而且执行计划看起来也不够完美: mysql> explain SELECT count(1) FROM a

叶金荣:MySQL通用优化技巧

转自:http://mp.weixin.qq.com/s?__biz=MjM5NDE0MjI4MA==&mid=208777870&idx=1&sn=6efddd6283e4deb3fe55a141b0db965c 本文根据 DevOps华南运维圈@UCloud微信群的「运维在线」栏目的嘉宾分享整理而成.「运维在线」将邀请业界运维前线技术专家作为分享嘉宾,分享技术趋势和技术实战,为运维朋友提供各种踩坑.躲坑.绕坑新技能. 嘉宾介绍 叶金荣Oracle MySQL ACE,国内最早的

mysql优化笔记之分页

过年闲得蛋疼,于是看看mysql优化,看了网上好多关于分页的优化方法,但是呢,我亲自试上一把的时候,没有出现他们说的现象...难道是我的机器问题么? 下面看看我的实践记录,希望看到的加入进来交流一下O(∩_∩)O~ 以下采用常规分页和网上大伙都提倡的做法: offset较小时: 常规做法 可以看出当limit offset较小时分页用常规做法的执行时间是0.01s. 当limit offset较小时采用另一种特殊的方法,在这种情况下,确实是符合大伙的推荐做法,即在 limit offset 较小

MYSQL学习笔记——数据库范式及MYSQL优化整体思路

一.数据库范式                                                                               为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 1.1.第一范式(1NF:每一列不可包含多个值)      所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列

MySQL优化核心理论与实践

背景描述:朋友单位OA系统前不久完成升级大改造,后端用的MySQL存储数据,上线跑了个把月,抱怨电话开始接二连三打来,不是这里打不开,就是那里无响应,有人比喻升级后变成老爷车,越来越慢,问题迫在眉睫,必须马上想对策呀.由于部署采用了规范文档,上线前也做了各种测试,于是乎,在线排查,未果,翻出实施文档,逐条阅读,未果,于是想起曾经一个业务系统,也碰到类似情况,后来通过各种优化得以缓解,遂有下文,<MySQL优化核心理论与实践>.说明:本文理论部分来源叶老师的博文,实践部分来源工作积累和众多热爱M

centos mysql 优化 第十三节课

centos mysql  优化  第十三节课 MySQL索引 主键值不能重复,也不能是NULLunique key + not null 业务主键用唯一索引代替 案例:某InnoDB表,没有自增列主键,使用一段时间后,产生碎片,重整表空间后,从13G变成了9G重整表空间的3种方法alter table xx engine=innodb;optimize table xx;create primary key on id 加主键聚集索引 mysql5.6之后依然无法online ddl做 加主键

centos mysql 优化 第四节课

centos mysql  优化  第四节课 =================================================rhel5.3左右的版本用vim打开slow log并wq,mysqld没有停还在读写slow log,导致mysqld无法写数据到slow log:wq 写入后,句柄有没有发生变化/proc文件系统里找句柄数据fd top.free.sar vmstat vmstat -S m 1 procs -----------memory---------- -

今天开始学习Mysql优化技术

随着工作的深入,愈发觉得数据库优化方面知识方面的重要性,于是下载了韩顺平的Mysql优化技术的视频,这里全当课后笔记,里面可能会穿插一些自己的工作经验(感谢韩老师). Mysql优化不是一种动作,而是全套动作,包括 : 1.表的设计合理化 2.添加适当的索引 3.分表技术(水平分表,垂直分表) 4.读写分离技术 5.对常用的sql语句使用存储过程(免去了dbms对sql的编译过程,但是降低了可移植性) 6.修改mysql配置(my.ini),比如mysql最大并发量,缓存之类的配置 7.碎片整理

mysql优化【转】

最近听讲了博森瑞老师的mysql优化公开课,这个是我整理的笔记. 现在说一下mysql的内存和I/O方面的两个特点. 一. mysql内存特点: 1.  也有全局内存和每个session的内存(每个session类似于oracle的sga和pga),但是针对每个session的内存,我们不要给它分配过大.如果对每个session的内存分配过大,会造成oom的发生.在高并发下,增加物理内存就可以减少物理I/O.所以mysql的内存管理比oracle简单一些. 2.在oracle里面有library