MySQL凭借着它还不错的性能、还不错的稳定性常年稳居老二宝座,当然最大的优势就是它不要钱,还开源,这让它成为大部分中小型公司,尤其是互联网公司首选的数据库(近年来越来越多的大公司也在尝试将业务转移到这种不要钱的数据库上来)。

越来越多的DBA和后端同学在工作中少不了和MySQL打交道,为什么这个SQL执行的这么慢?为什么明明我建了索引但查询计划显示没用?为什么我的IN查询里的参数一多就不使用索引了?为什么突然我的数据就成了乱码?到底应不应该使用连接查询?吧啦吧啦一大堆。在面试中MySQL的一些知识更成为躲不过的问题,比如索引结构、MVCC、隔离级别的实现、锁的使用等等等等都成为了面试考题重灾区。

而今天我的任务就是带着大家从非常简单的问题出发,再引入一些更为复杂的问题。高楼大厦虽然雄伟,解构之后不过是钢筋水泥。当然这个过程我会适当的给大家加点儿料,扯扯犊子,让大家像读小说一样接受这些MySQL的核心概念。

 

那么,今天咱们就致力于覆盖大家工作和面试过程中最常遇到的MySQL的一些核心概念,共划分为4个部分,各部分简介如下,希望大家能够喜欢!!

目录

 

第一部分(基础):

1.Linux系统安装MySQL

1.1下载Linux安装包

1.2安装MySQL

1.3启动MySQL服务

1.4登录MySQL

2.索引

2.1索引概述

2.2索引优势劣势

2.3索引结构

2.4索引分类

2.5索引语法

2.6索引设计原则

 

3.视图

3.1视图概述

3.2创建或者修改视频

3.3查看视频

3.4删除视频

 

4.存储过程和函数

4.1存储过程和函数概述

4.2创建存储过程

4.3调用存储过程

4.4查看存储过程

4.5删除存储过程

4.6语法

4.7存储函数

 

5.触发器

5.1介绍

5.2创建触发器

5.3删除触发器

5.4查看触发器

第二部分(进阶):

1. Mysql的体系结构概览

 

2. 存储引擎

2.1存储引擎概述

2.2各种存储引擎特性

2.3存储引擎的选择

 

3. 优化SQL步骤

3.1查看SQL执行频率

3.2定位低效率执行SQL

3.3 explain分析执行计划

3.4 show profile分析SQL

3.5 trace分析优化器执行计划

4. 索引的使用

4.1验证索引提升查询效率

4.2索引的使用

4.3查看索引使用情况

 

5. SQL优化

5.1大批量插入数据

5.2优化insert语句

5.3优化order by语句

5.4优化group by 语句

5.5优化嵌套查询

5.6优化OR条件

5.7优化分页查询

5.8使用SQL提示

 

第三部分(MySQL性能优化):

1.应用优化

1.1使用连接池

1.2 减少对MySQL的访问

1.3负载均衡

 

2.Mysql中查询缓存优化

2.1概述

2.2操作流程

2.3查询缓存配置

2.4开启查询缓存

2.5查询爱存SELECT选项

2.6查询缓存失效的情况

 

3.Mysql内存管理及优化

3.1内存优化原则

3.2 MylSAM内存优化

3.3 InnoDB内存优化

4.Mysql并发参数调整

4.1 max_connections

4.2 back_log

4.3 table_open_cache

4.4 thread_cache_size

4.5 innodb_lock_wait_timeout

 

5.Mysql锁问题

5.1所概述

5.2锁分类

5.3 Mysql锁

5.2 MylSAM表锁

5.3InnoDB行锁

 

6.常用SQL技巧

6.1 SQL执行顺序

6.2正则表达式使用

6.3 MySQL常用函数

第四部分:

 

1.MySql中常用工具

1.1 mysql

1.2 mysqladmin

1.3 mysqlbinlog

1.4 mysqldump

1.5 mysqlimport/source

1.6 mysqlshow

 

2.Mysql日志

2.1错误日志

2.2二进制日志

2.3查询日志

2.4慢查询日志

 

3.Mysql复制

3.1复制概述

3.2复制原理

3.3复制优势

3.4搭建步骤

4.综合案例

4.1需求分析

4.2搭建案例环境

4.3 通过AOP记录操作日志

4.4日志查询后端代码实现

4.5日志查询前端代码实现

4.6联调测试

4.7分析性能i问题

4.8性能优化-分页

4.9性能优化–索引

4.10性能优化–排序

4.11性能优化-读写分离

4.12性能优化–应用优化

 

这份【MySQL高级笔记】文档共有4份PDF,需要完整版的朋友,可以转发此文关注小编,私信小编【笔记】来获取!!

当然,单单有文档看是远远不够的,还有视频和相匹配的课件进行学习提升,努力把MySQL这一块儿给搞明白,相信一定会有不凡的人生!!

MySQL学习视频

 

还有课件分享

 

 

 

MySQL数据库视频和课件获取,点赞关注小编,添加小助理获取!

好了,今天就分享到这里了,希望大家能够好好学习,把MySQL这一块儿给提升上来,也希望本文能够得到大家的喜欢!!