总结我的 MySQL 学习历程,给有需要的人看

news2025/1/17 15:47:51

作者| 慕课网精英讲师 马听

你好,我是马听,现在是某零售公司的 MySQL DBA,身处一线的我表示有很多话要讲。

我的MySQL学习历程

在我大三的时候,就开始接触到 MySQL 了,当时我也是从最基础的 MySQL 知识(比如建表、字段修改、增删查改等)开始学习的,当学完简单的语句之后,感觉特有成就感:),认为自己在 MySQL 方面已经很强了,感觉 MySQL 用起来无非也就这些内容,还能有什么?

直到刚毕业入职某互联网公司时,公司电商业务的数据库突然出现高负载报警,并且业务反应很多接口都出奇的慢,这时一位数据库运维同事马上连上数据库,在执行了几条命令后,就确定了是慢查询导致数据库高负载的,通过改写 SQL 语句能让性能得到改善。他马上通知开发改写了代码,发完版之后负载立马下来了。

此时,我了解到身处前线的我们,随时随地会遇到各种“麻烦”,而面临这些境遇就要求我们必须系统的提高和优化对于数据库的管理

比如,进行数据导入时,如何进行优化 ?工作中有一次,开发一个同事想在他的测试环境导入一张大表,他发现每次都要花半小时以上,就找到了我帮忙,看完他的 MySQL 参数配置后,我会发现其实有些参数可以调整的,调整完之后,让他再继续测试,发现不到 10 分钟就搞定了,是不是高效了很多,MySQL 的优化中有太多这样例子了。

那俗话说:磨刀不误砍柴工,我们花越多的时间来学习,其实也是为提高工作时效率,节约了我们更多的时间,下面我们一起来深入研究下 MySQL 优化和提升时里面的要点和细节吧。

哪些人需要学习MySQL优化

说了这么多,那究竟有哪些人需要学习 MySQL 优化呢?

首先,当然 DBA 是必须学习的,因为分析慢查询,并且去优化慢查询是 DBA 的工作之一。

其次,开发也应该学习 MySQL 优化,我以前遇到过一个开发能力比较强的同事,去 BAT 某大厂面试开发工作,其他技术基本没问题,而当问到 MySQL 索引和事务以及优化相关问题时,就卡住了,最终错失进入大厂的机会,人生真的好难…泪奔。不单单面试,在工作中,如果开发懂得数据库优化,很多情况就不用 DBA 来审核找出问题再回过头去改代码,会大大节约了时间成本,完美 :)

当然,其他对于 MySQL 感兴趣的人,也是可以学学优化技巧的,欢迎欢迎欢迎,让你的 SQL 执行效率更高。

提升MySQL水平方式

分享下我自己学习 MySQL 的历程,小伙伴们有需要的可以借鉴下,在这里,总结一下我的 MySQL 提升水平的方式:

如果你没有 MySQL 的基础,建议可以看下面两本书籍,看完之后,可以简单处理一些优化:

  • 《MySQL 必知必会》:主要讲 SQL 的写法;
  • 《深入浅出 MySQL》:比较全面的讲解了 MySQL 的基础知识,也涉及了一些优化。

如果已经对 MySQL 比较熟悉了,可以看下面的书籍,你会对索引和锁以及事务等有全新的看法:

  • 《高性能 MySQL》:里面讲了很多 MySQL 优化技巧;
  • 《MySQL 技术内幕》:讲解了很多 MySQL 原理,强力推荐给想深入学习 MySQL 的同学;
  • 《MySQL 内核:InnoDB 存储引擎》:想深入研究 MySQL 内核及原理的可以看看;
  • 《MySQL 运维内参》:对 MySQL 源码感兴趣,可以入手;
  • 《MySQL Internals Manual》
  • 《MySQL 5.7 Reference Manual》

如果已经掌握了 MySQL 的基础知识,大家可以按照如下知识脉络进行深入学习:

 最后,希望大家都能学会MySQL,拿高薪!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32958.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6、项目第六阶段——用户名登录显示和注册验证码

第六阶段——用户名登录显示和注册验证码 1、登陆—显示用户名 UserServlet 程序中保存用户登录的信息 UserServlet程序中: //保存用户登录信息到Session域中 req.getSession().setAttribute("user",loginUser);修改 login_succuess_menu.jsp&#xf…

2019 国际大学生程序设计竞赛(ICPC)亚洲区域赛(银川) 7题

文章目录N.Fibonacci SequenceB.So EasyI.Base62G.Pot!!F.Function!K.Largest Common Submatrix补题链接:https://codeforces.com/gym/104021 难得VP打出这么好的成绩,虽然是有争议的西部枢纽银川站,虽然没能早生几年。。。。 N.Fibonacci Se…

【数据结构】基础:堆

【数据结构】基础:堆 摘要:本文主要介绍数据结构堆,分别介绍其概念、实现和应用。 文章目录【数据结构】基础:堆一、概述1.1 概念1.2 性质二、实现2.1 定义2.2 初始化与销毁2.3 入堆2.4 出堆2.5 堆的创建2.6 其他三、应用3.1 堆排…

《前端》css总结(下)

文章目录元素展示格式displaywhite-spacetext-overflowoverflow内边距和外边距marginpadding盒子模型box-sizing位置position:用于指定一个元素在文档中的定位方式浮动flex布局flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-contentorderflex-g…

你最少用几行代码实现深拷贝?

问题分析 深拷贝 自然是 相对 浅拷贝 而言的。 我们都知道 引用数据类型 变量存储的是数据的引用,就是一个指向内存空间的指针, 所以如果我们像赋值简单数据类型那样的方式赋值的话,其实只能复制一个指针引用,并没有实现真正的数…

计算机组成原理4小时速成:存储器,内存ROM,RAM,Cache,高速缓存cache,外存,缓存命中率,效率

计算机组成原理4小时速成:存储器,内存ROM,RAM,Cache,高速缓存cache,外存,缓存命中率,效率 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法…

MYSQL事务原理分析

目录事务是什么ACID特性原子性(A)隔离性(I)持久性(D)一致性(C)隔离级别简介有些什么READ UNCOMMITTED(读未提交)READ COMMITTED(读已提交&#xf…

【17】Java常见的面试题汇总(设计模式)

目录 1. 说一下你熟悉的设计模式? 2. 简单工厂和抽象工厂有什么区别? 1. 说一下你熟悉的设计模式? 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦…

力扣(LeetCode)60. 排列序列(C++)

枚举 枚举每一位可能的数字。 如图。算法流程如上图。 思路分析 : 一个数 nnn ,可以组成的排列数量有 n!n!n! 。当首位确定,剩余位能组成的排列数量 (n−1)!(n-1)!(n−1)! ,依次类推 (n−2)!/(n−3)!/(n−4)!/…/2!/1!/0!(n-2)!/(n-3)!/(n…

CentOS7安装MYSQL8.X的教程详解

1-首先查看系统是否存在mysql,无则不返回 1 # rpm -qa|grep mysql 2-安装wget 1 # yum -y install wget 3-抓取mariadb并删除包,无则不返回 1 # rpm -qa|grep mariadb 4-删除mariadb-libs-5.5.68-1.el7.x86_64 1 # rpm -e --nodeps mariadb-libs-…

本节作业之数组求和及其平均值、求数组最大值、最小值、数组转换为分割字符串、新增数组案例、筛选数组案例、删除指定数组元素、翻转数组、数组排序(冒泡排序)

本节作业之数组求和及其平均值、求数组最大值、最小值、数组转换为分割字符串、新增数组案例、筛选数组案例、删除指定数组元素、翻转数组、数组排序<冒泡排序>求数组[2,6,1,7,4]里面所有的元素的和以及平均值求数组[2,6,1,77,52,25,7]中的最大值求数组[2,6,1,77,52,25,7…

Linux - netstat 查看系统端口占用和监听情况

文章目录功能语法示例显示 tcp&#xff0c;udp 的端口和进程Show both listening and non-listening socketsList all tcp ports.List all udp portsList only listening portsList only listening TCP ports.List only listening UDP ports.List only the listening UNIX port…

Android 性能优化方法论【总结篇】

作为一位多年长期做性能优化的开发者&#xff0c;在这篇文章中对性能优化的方法论做一些总结&#xff0c;以供大家借鉴。 性能优化的本质 首先&#xff0c;我先介绍一下性能优化的本质。我对其本质的认知是这样的&#xff1a;性能优化的本质是合理且充分的使用硬件资源&#x…

分享感恩节联系客户话术

看了一眼在手边的日历&#xff0c;发现今天是11月24日&#xff0c;一年一度的感恩节又到了&#xff0c;不得不感叹时间过得真快&#xff0c;每年十一月的第四个星期四是感恩节。 随着各国多元文化的发展&#xff0c;感恩节也越来越被世界各地传颂&#xff0c;多少都会有一些影…

WANLSHOP 直播短视频种草多用户电商系统源码自营+多商户+多终端(H5+小程序+APP)

WANLSHOP高级版 可用于自营外包项目(多主体)、 可用于外包定制开发项目、 提供开源源码&#xff0c;私有化部署、一款基于 FastAdmin Uni-APP 开发的 多终端&#xff08;H5移动端、APP、微信小程序、微信公众号&#xff09;、多用户商城系统拥有多种运营模式B2B2C/B2C&#xf…

python安装依赖库

一、安装pip 1、打开终端&#xff0c;输入&#xff1a; pip3 install tushare -i https://pypi.douban.com/simple 2、验证是否安装成功 打开终端&#xff0c;输入&#xff1a;pip3 出现以上页面&#xff0c;则安装成功 二、安装flask 1、打开终端&#xff0c;输入&…

mybatis-plus学习笔记

文章目录1 简介2 初始化项目2.1引入pom2.2 引入lombok插件2.3 配置信息2.4 创建实体类2.5 创建mapper2.6 配置注解MapperScan2.7 编写测试类2.8 配置MyBatis日志3 测试基本的CRUD3.1 新增3.2 查询3.3 修改3.4 删除4 自定义动态sql5 Service 层使用mybatis-plus方法5.1 service层…

使用hive进行大数据项目分析

目录 一、首先要创建表&#xff1a;在txt记事本中先输入创建语句备用&#xff0c;创建class1~class5的表。 二、启动hadoop集群&#xff0c;MySQL&#xff0c;hive。 三、创建数据库zhh&#xff0c;用户为zhh&#xff0c;之后将之前写在txt记事本里的创建表class1~class5的命…

浅谈企业信息化安全建设中的三大误区

伴随着信息化的深度建设与应用&#xff0c;与之相伴的信息安全事件也层出不穷&#xff01;很多企业开始关注信息安全问题、关注信息安全建设&#xff0c;大家的共识已经达到前所未有的高度。 虽然许多的企业虽然认识到信息安全的重要性&#xff0c;在实际实施过程中却又无从下…

【附源码】计算机毕业设计JAVA亦心化妆品网站

【附源码】计算机毕业设计JAVA亦心化妆品网站 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA myba…