第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学习笔记(三)数据优化的更多相关文章

  1. MySql学习笔记三

    MySql学习笔记三 4.DML(数据操作语言) 插入:insert 修改:update 删除:delete 4.1.插入语句 语法: insert into 表名 (列名1,列名2,...) val ...

  2. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  3. MYSQL学习笔记——sql语句优化工具

    优化sql:思路: 使用explan->先查询type类型看看是all还是ref,然后判断 possible_keys (显示可能应用在这张表中的索引, 一个或多个.查询涉及到的字段是若存在索引 ...

  4. MYSQL学习笔记——sql语句优化之索引

    上一篇博客讲了可以使用慢查询日志定位耗时sql,使用explain命令查看mysql的执行计划,以及使用profiling工具查看语句执行真正耗时的地方,当定位了耗时之后怎样优化呢?这篇博客会介绍my ...

  5. mysql学习笔记三 —— 数据恢复与备份

    要点: 1.存储引擎2.导入导出3.备份与恢复 查看当前数据库中的所有表use db1:show tables: 1.存储引擎 不同的发动机(引擎)适用的汽车类型不一样. 存储和处理的不同方式.不同的 ...

  6. mysql学习笔记一 —— 数据的增删改查

    1.连接mysql mysql 直接回车(是以root身份,密码空,登陆的是本机localhost) [root@www mysql]# mysql -uroot -p123 -S /var/lib/ ...

  7. mysql基本数据类型(mysql学习笔记三)

    Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double 双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符 ...

  8. MySQL学习笔记之数据存储类型

    说明:本文是作者对MySQL数据库数据存储类型的小小总结. Numeric Type (数字类型) 1.TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT主要根据存储字节长度不 ...

  9. MySQL学习笔记(三)—索引

    一.概述 1.基本概念       在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经 ...

  10. mybatis学习笔记(三)-- 优化数据库连接配置

    原来直接把数据库连接配置信息写在conf.xml配置中,如下 <?xml version="1.0" encoding="UTF-8"?> < ...

随机推荐

  1. #SQL1242错误

    --------------------- 子查询更新数据时遇到多条数据时,可以使用SUM&MIN等函数解决:如下: //正确的方法一对多 UPDATE `yd_draw_prize_orde ...

  2. MT【292】任意存在求最值

    已知向量$\textbf{a},\textbf{b}$满足:$|\textbf{a}|=|\textbf{b}|=1,\textbf{a}\cdot\textbf{b}=\dfrac{1}{2},\t ...

  3. Hdoj 1233.还是畅通工程 题解

    Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直 ...

  4. [luogu3810][bzoj3262]陌下花开【cdq分治】

    题目描述 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示.现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当且仅Sa&g ...

  5. stm32使用rt-thread在文件《stm32f1xx_hal.h》中头文件包含顺序引出的错误

    @2019-01-24 [小记] 在学习 rt-thread BSP制作过程中,发现文件<stm32f1xx_hal.h>中 Env工具生成的原始顺序 1. #include " ...

  6. 解决忘记mysql中的root用户密码问题

    如果忘了数据库中的root密码,无法登陆mysql. 解决步骤: 1. 使用“--skip-grant-tables”启动数据库 ~]#systemctl stop mysql ~]#mysqld_s ...

  7. kafka 流式计算

    http://www.infoq.com/cn/articles/kafka-analysis-part-7/ Kafka设计解析(七)- 流式计算的新贵 Kafka Stream

  8. 洛谷P3168 任务查询系统

    题意:有n个任务,第i个的存在时间是li~ri,有个权值.求t时刻第k大的权值. 这毒瘤...本来是前缀和 -> 主席树,我是树套树...然后光荣TLE. 其实很裸.一开始我写的是每个位置维护一 ...

  9. 团体程序设计天梯赛(CCCC) L3013 非常弹的球 不同思路

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  10. strut2 的数据验证

    数据验证 用户的输入验证,必须做,且工作量巨大. 1.验证的方式 客户端验证:javascript 服务端验证:逻辑验证(我们的代码) 注意:如果客户端和服务端二选一的话,服务器端的不能省. 实际开发 ...