燕十八MySQL优化学习笔记
观察 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优化学习笔记相关推荐
- 布尔教育mysql优化_布尔教育燕十八mysql优化视频课件源码分享
目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...
- 燕十八 mysql_布尔教育燕十八mysql优化视频课件源码分享
目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...
- 燕十八 mysql优化_布尔教育燕十八mysql优化视频资料分享
目前数据库是大多数系统进行数据存储的基础组件,数据库的效率对系统的稳定和效率有着至关重要的影响:为了有更好的用户体验,数据库的优化显得异常重要.那么我们要从那些方面对我们的数据库进行优化呢?让我们在& ...
- 燕十八 mysql优化_MySQL性能优化笔记整理
多列索引上,索引发挥作用,需要满足左前缀要求. 以 index(a,b,c) 为例, --------------------------------------------------------- ...
- 燕十八 Mysql 笔记 68 课
68 建表过程与字符类型的意义 目的:要学会建表 知识点:列类型 怎么建表? 以在 A4 纸上建表为例,表头写完就算表建好了,后面的是插入数据,建表的过程其实就是一个声明字段的过程 学号 姓名 家乡 ...
- 燕十八 mysql 复习_燕十八 Mysql 笔记 68 课
68 建表过程与字符类型的意义 目的:要学会建表 知识点:列类型 怎么建表? 以在 A4 纸上建表为例,表头写完就算表建好了,后面的是插入数据,建表的过程其实就是一个声明字段的过程 学号 姓名 家乡 ...
- 布尔教育mysql入门视频教程_布尔教育燕十八mysql入门视频教程的资源(源码课件)推荐...
<布尔教育燕十八mysql入门视频教程>是mysql基础入门课程,随着mysql不断发展,现在使用mysql+php做网站已成为主流web开发技术,如果你想学习动态网页设计,那么建议你选择 ...
- 燕十八公益教程-学习感想
燕十八老师的公益教程第二期已经开了有一段时间了,也跟老师从头学习了很多东西,老师的讲课很精彩,每讲一个知识点都从生活中举例子,浅显易懂,深入浅出. 每天我8点到开始,都是我期待的时间段,虽说放弃了娱乐 ...
- Mysql 优化(学习笔记二十)
https://blog.csdn.net/steven_liwen/article/details/53188411 运维角度mysql优化:https://www.cnblogs.com/shen ...
最新文章
- hdu1007 最近点对
- postgresql c语言,PostgreSQL_C语言_开发者手册
- 获取当前Tomcat实例的端口
- Java StackTraceElement getClassName()方法与示例
- 做游戏,学编程(C语言) 2 最简单的飞机游戏
- 百度编辑器在服务器置顶路径 解决上传图片创建目录失败的方法(Thinkphp)
- mysql repalication_MYSQL数据库知识点总结
- 七月算法机器学习 11 决策树、随机森林、 adaboost
- Ubuntu Emacs Fcitx 中文输入法设置
- HttpHeaders()无法调用
- 工程力学(18)—压杆稳定
- java登录界面圆形头像,Android使用CircleImageView实现圆形头像的方法
- 思科模拟器配置 DHCP中继
- C++之 system(“pause“); 与 getchar(); 防止控制台闪退
- 信道容量、数字基带与带通传输系统误码率公式整理
- 大数据主要有什么用,有什么价值?
- 线性滤波、非线性滤波区别
- Elasticsearch之路由
- android愤怒小鸟游戏、自定义View、掌上餐厅App、OpenGL自定义气泡、抖音电影滤镜效果等源码... 1
- 软件定义数据中心(SDDC)的网络安全
热门文章
- loadrunner提高篇 - 关联技术的经典使用
- java AES加密解密
- Django Model出现的中文问题
- 收藏个支持进度条与文件拖拽上传的js File Uploader
- Linux中的sh+source+export
- c++ 课程设计之车票管理系统
- 电脑有两个显示器用来显示,如何配置呢,请看下文
- 在线运行java代码并得到结果_Java代码是如何运行的?
- 龚胤全云栖大会_2017云栖大会北京峰会
- typora html代码无效,Typora优化-适合不懂CSS代码的小白