观察 show status; 里面的这三个参数;Queries Threads_connected Threads_running
判断周期性变化

------------------------------------------------------------
mysql -uroot -e 'show processlist'
1.show processlist 获取sql语句

2.show profiles 检查sql语句
set profiling=1; 开启关闭 Query Profiler
show profiles 显示所有sql;
show profile for query 2 查看 Copying to tmp table 复制到临时表的时间过大,说明索引不对
show profile cpu for query 1; 查看cpu的消耗情况
show profile memory for query 1; 查看内存消耗
show profile block io,cpu for query 1; 查看io及cpu的消耗

reset query cache 清除缓存
-----------------------------------------------------------------

表优化,列类型选择
速度
int>date,time>char,varchar>blob
避免使用null

enum

------------------------------------------------------------------

btree 排好序 的快速索引

左前缀要求:从左到右连续使用,断了,后面的索引就不起左右

索引有关的主要是possible_keys,key,key_len这三项,

possible_keys是指可能会用到的索引,key是当前sql使用到的索引,key_len是索引的使用字节数\

extra
using temporary 使用了临时表
using filesort 额外的文件排序

----------------------------------------------------------------------

索引覆盖: 索引覆盖指 如果查询的列恰好是索引的一部分,那么查询只需要在索引文件上进行,不需要回行到磁盘上查询
explain extra: using index 用了索引覆盖

Innodb 是 聚簇索引
-------------------------------------------------------------------------------------
1:查询频繁 2:区分度高 3:长度小 4: 尽量能覆盖常用查询字段.

select count(distinct left(word,1))/count(*) from dict;

区分度和长度

crc32 伪哈希

------------------------------------------------------------------------------------
大数据分页 limit offset 并不是先跳过,再查询
而是,先查询,后跳过
limit 100W,10 是先把100W条取出来,然后跳过
1.select id,name from lx_com where id>1000000 limit 10; 数据没有删除过
(一般来说,大网站的数据都是不物理删除的,只做逻辑删除 ,比如 is_delete=1)
2.延迟关联
select id,name from lx_com inner join (select id from lx_com limit 5000000,10) as tmp using(id);
先用 索引覆盖 找出id,在找到对应id的值

--------------------------------------------------------------------------------
1.重复索引 一个列建立2个索引
alert table goods add index ck1(click_count);
alert table goods add index ck2(click_count);
ck1,ck2 重复索引
2.冗余索引
多个索引有重叠;

-------------------------------------------

慢的原因:
1.等待时间 IO,被锁,加连接数
2.执行时间(取出了多少行,扫描多少行)

explain
1.type:all表示最差,全表扫描,index 全部扫描索引,rang范围,ref 索引迅速定位
效率 all

转载于:https://www.cnblogs.com/microtiger/p/6208104.html

燕十八MySQL优化学习笔记相关推荐

  1. 布尔教育mysql优化_布尔教育燕十八mysql优化视频课件源码分享

    目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...

  2. 燕十八 mysql_布尔教育燕十八mysql优化视频课件源码分享

    目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...

  3. 燕十八 mysql优化_布尔教育燕十八mysql优化视频资料分享

    目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...

  4. 燕十八 mysql优化_MySQL性能优化笔记整理

    多列索引上,索引发挥作用,需要满足左前缀要求. 以 index(a,b,c) 为例, --------------------------------------------------------- ...

  5. 燕十八 Mysql 笔记 68 课

    68 建表过程与字符类型的意义 目的:要学会建表 知识点:列类型 怎么建表? 以在 A4 纸上建表为例,表头写完就算表建好了,后面的是插入数据,建表的过程其实就是一个声明字段的过程 学号 姓名 家乡 ...

  6. 燕十八 mysql 复习_燕十八 Mysql 笔记 68 课

    68 建表过程与字符类型的意义 目的:要学会建表 知识点:列类型 怎么建表? 以在 A4 纸上建表为例,表头写完就算表建好了,后面的是插入数据,建表的过程其实就是一个声明字段的过程 学号 姓名 家乡 ...

  7. 布尔教育mysql入门视频教程_布尔教育燕十八mysql入门视频教程的资源(源码课件)推荐...

    <布尔教育燕十八mysql入门视频教程>是mysql基础入门课程,随着mysql不断发展,现在使用mysql+php做网站已成为主流web开发技术,如果你想学习动态网页设计,那么建议你选择 ...

  8. 燕十八公益教程-学习感想

    燕十八老师的公益教程第二期已经开了有一段时间了,也跟老师从头学习了很多东西,老师的讲课很精彩,每讲一个知识点都从生活中举例子,浅显易懂,深入浅出. 每天我8点到开始,都是我期待的时间段,虽说放弃了娱乐 ...

  9. Mysql 优化(学习笔记二十)

    https://blog.csdn.net/steven_liwen/article/details/53188411 运维角度mysql优化:https://www.cnblogs.com/shen ...

最新文章

  1. hdu1007 最近点对
  2. postgresql c语言,PostgreSQL_C语言_开发者手册
  3. 获取当前Tomcat实例的端口
  4. Java StackTraceElement getClassName()方法与示例
  5. 做游戏,学编程(C语言) 2 最简单的飞机游戏
  6. 百度编辑器在服务器置顶路径 解决上传图片创建目录失败的方法(Thinkphp)
  7. mysql repalication_MYSQL数据库知识点总结
  8. 七月算法机器学习 11 决策树、随机森林、 adaboost
  9. Ubuntu Emacs Fcitx 中文输入法设置
  10. HttpHeaders()无法调用
  11. 工程力学(18)—压杆稳定
  12. java登录界面圆形头像,Android使用CircleImageView实现圆形头像的方法
  13. 思科模拟器配置 DHCP中继
  14. C++之 system(“pause“); 与 getchar(); 防止控制台闪退
  15. 信道容量、数字基带与带通传输系统误码率公式整理
  16. 大数据主要有什么用,有什么价值?
  17. 线性滤波、非线性滤波区别
  18. Elasticsearch之路由
  19. android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码... 1
  20. 软件定义数据中心(SDDC)的网络安全

热门文章

  1. loadrunner提高篇 - 关联技术的经典使用
  2. java AES加密解密
  3. Django Model出现的中文问题
  4. 收藏个支持进度条与文件拖拽上传的js File Uploader
  5. Linux中的sh+source+export
  6. c++ 课程设计之车票管理系统
  7. 电脑有两个显示器用来显示,如何配置呢,请看下文
  8. 在线运行java代码并得到结果_Java代码是如何运行的?
  9. 龚胤全云栖大会_2017云栖大会北京峰会
  10. typora html代码无效,Typora优化-适合不懂CSS代码的小白