MySQL学习笔记(三)数据优化
第1章 数据库优化简介
1-1 MySQL优化简介
第2章 SQL语句优化
2-1 数据准备
2-2 MySQL慢查日志的开启方式
2-3 MySQL慢查日志分析工具之 mysqldumpslow
www@AliYun:~$ sudo mysqldumpslow -t 3 /var/log/mysql/slow.log | more Reading mysql slow query log from /var/log/mysql/slow.log
Count: 1 Time=0.16s (0s) Lock=0.00s (0s) Rows=0.0 (0), www[www]@[115.193.170.169]
DELETE FROM `resty_invitation` Count: 1 Time=0.14s (0s) Lock=0.00s (0s) Rows=1000.0 (1000), www[www]@[115.193.170.169]
SELECT * FROM `resty_logs` LIMIT N, N Count: 2 Time=0.05s (0s) Lock=0.01s (0s) Rows=0.0 (0), []@[]
throttle: N 'S' warning(s) suppressed.
2-4 MySQL慢查日志分析工具之 pt-querey-diget
2-5 如何通过慢查日志发现有问
2-6 通过explain查询和分析SQL的执行计划
mysql> explain select username,logintime,status,expire from resty_user limit 4;
+----+-------------+------------+------------+------+---------------+------+---------+------+------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+------------+------------+------+---------------+------+---------+------+------+----------+-------+
| 1 | SIMPLE | resty_user | NULL | ALL | NULL | NULL | NULL | NULL | 9 | 100.00 | NULL |
+----+-------------+------------+------------+------+---------------+------+---------+------+------+----------+-------+
1 row in set, 1 warning (0.01 sec)
2-7 Count()和Max()的优化
mysql> explain select MAX(fileSize) from resty_stream_video \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: resty_stream_video
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 177
filtered: 100.00
Extra: NULL
1 row in set, 1 warning (0.00 sec)
建立索引
create index idx_fileSize on resty_stream_video(fileSize);
继续查询
mysql> explain select MAX(fileSize) from resty_stream_video \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: NULL
partitions: NULL
type: NULL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: NULL
filtered: NULL
Extra: Select tables optimized away
1 row in set, 1 warning (0.00 sec)
count(*)和count(某一列) 那个好?
mysql> select * from test;
+------+
| id |
+------+
| 1 |
| 2 |
| NULL |
+------+
3 rows in set (0.00 sec) mysql> select count(*),count(id) from test;
+----------+-----------+
| count(*) | count(id) |
+----------+-----------+
| 3 | 2 |
+----------+-----------+
1 row in set (0.00 sec)
小结:count(某一列) 不包括为null的值
2-8 子查询的优化
2-9 group by的优化
2-10 Limit查询的优化
第3章 索引优化
3-1 如何选择合适的列建立索引...(03:25)
3-2 索引优化SQL的方法(07:17)
3-3 索引维护的方法(02:43)
第4章 数据库结构优化
4-1 选择合适的数据类型...(06:43)
4-2 数据库表的范式化优化...(05:03)
4-3 数据库表的反范式化优化...(04:23)
4-4 数据库表的垂直拆分...(02:59)
4-5 数据库表的水平拆分...(03:13)
第5章 系统配置优化
5-1 数据库系统配置优化...(04:24)
5-2 MySQL配置文件优化(10:26)
5-3 第三方配置工具使用...(06:17)
第6章 服务器硬件优化
6-1 服务器硬件优化(05:59)
MySQL学习笔记(三)数据优化的更多相关文章
- MySql学习笔记三
MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- MYSQL学习笔记——sql语句优化工具
优化sql:思路: 使用explan->先查询type类型看看是all还是ref,然后判断 possible_keys (显示可能应用在这张表中的索引, 一个或多个.查询涉及到的字段是若存在索引 ...
- MYSQL学习笔记——sql语句优化之索引
上一篇博客讲了可以使用慢查询日志定位耗时sql,使用explain命令查看mysql的执行计划,以及使用profiling工具查看语句执行真正耗时的地方,当定位了耗时之后怎样优化呢?这篇博客会介绍my ...
- mysql学习笔记三 —— 数据恢复与备份
要点: 1.存储引擎2.导入导出3.备份与恢复 查看当前数据库中的所有表use db1:show tables: 1.存储引擎 不同的发动机(引擎)适用的汽车类型不一样. 存储和处理的不同方式.不同的 ...
- mysql学习笔记一 —— 数据的增删改查
1.连接mysql mysql 直接回车(是以root身份,密码空,登陆的是本机localhost) [root@www mysql]# mysql -uroot -p123 -S /var/lib/ ...
- mysql基本数据类型(mysql学习笔记三)
Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double 双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符 ...
- MySQL学习笔记之数据存储类型
说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...
- MySQL学习笔记(三)—索引
一.概述 1.基本概念 在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经 ...
- mybatis学习笔记(三)-- 优化数据库连接配置
原来直接把数据库连接配置信息写在conf.xml配置中,如下 <?xml version="1.0" encoding="UTF-8"?> < ...
随机推荐
- 【HDU - 5845】Best Division(xor-trie、01字典树、dp)
BUPT2017 wintertraining(15) #7E 题意 把数组A划分为k个区间,每个区间不超过L长度,每一个区间异或和之和为S.现在求:S不超过X,区间个数的最大值. 且A是这样给你的: ...
- Codeforces Round #471 (Div. 2) F. Heaps(dp)
题意 给定一棵以 \(1\) 号点为根的树.若满足以下条件,则认为节点 \(p\) 处有一个 \(k\) 叉高度为 \(m\) 的堆: 若 \(m = 1\) ,则 \(p\) 本身就是一个 \(k\ ...
- 【BZOJ5316】[JSOI2018]绝地反击(网络流,计算几何,二分)
[BZOJ5316][JSOI2018]绝地反击(网络流,计算几何,二分) 题面 BZOJ 洛谷 题解 很明显需要二分一个答案. 那么每个点可以确定的范围就是以当前点为圆心,二分出来的答案为半径画一个 ...
- 【BZOJ5294】[BJOI2018]二进制(线段树)
[BZOJ5294][BJOI2018]二进制(线段树) 题面 BZOJ 洛谷 题解 二进制串在模\(3\)意义下,每一位代表的余数显然是\(121212\)这样子交替出现的. 其实换种方法看,就是\ ...
- IIS最小配置
目的 : IIS按需要配置练习 测试环境 IIS 10 WIN10 1.安装IIS与建立网站 安装IIS略,服务器版用添加角色,用户版添加删除WINDOWS组件. 装好IIS之后,建一个网 ...
- centos7安装sonarqube6.7 代码质量管理平台
应用介绍:SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量通过插件形式: 可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groov ...
- 2018蓝桥杯 省赛D题(测试次数)
x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机.各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通.x星球 ...
- CentOS安装Python3.7
vscode设置python3.7调试环境:https://www.cnblogs.com/dotnetcrazy/p/9095793.html 先下载一下压缩包(FTP传也一样):weget htt ...
- 跟angular2学一键开启项目--关于上个react-redux项目的一键调试
一键调试类似于webpack的hot-loader,但是这个hot-loader并不怎么好用,想省事的同学可以配置一下就完了. 今天介绍browser-sync,用它来一键开启项目.它可以监听任意文件 ...
- 洛谷P3338 力
题意: 解: 介绍两种方法. 首先可以把那个最后除的qi拆掉. ①分前后两部分处理. 前一部分可以看做是个卷积.下面的平方不拆开,直接看成gi-j即可. 后一部分按照套路,把循环变量改成从0开始,反转 ...