摘要:
什么是事务 事务的概念 从业务层面上来说,事务就是一个最小的不可分割的单元,通常一个事务对应的是一个完整的业务(比如银行的转账操作)。 为什么要有事务 仍以银行转账为例加以说明,比如我要从账号A转账100元到账号B,现在数据库有一张表account,那么就意味着需要同时执行两条SQL语句的更新: 以 阅读全文
摘要:
慢查询日志概述 所谓慢查询日志,就是用于记录MySQL中响应时间超过设定阈值的SQL语句,通过打开慢查询开关,MySQL会将大于阈值的SQL记录在日志中,以便于分析性能。 慢查询日志选项默认是关闭的,如果要开启,则需要手动设置。 慢查询日志选项不建议一直开启,因为记录日志意味着IO操作,本身对性能有 阅读全文
摘要:
在上一篇文章中,通过分析执行计划的字段说明,大体说了一下索引优化过程中的一些注意点,那么如何才能避免索引失效呢?本篇文章将来讨论这个问题。 避免索引失效的常见方法 1.对于复合索引的使用,应按照索引建立的顺序使用,尽量不要跨列(最佳左前缀原则) 为了说明问题,我们仍然使用上一篇文章中的test01表 阅读全文
摘要:
前言 研究SQL性能问题,其实本质就是优化索引,而优化索引,一个非常重要的工具就是执行计划(explain),它可以模拟SQL优化器执行SQL语句,从而让开发人员知道自己编写的SQL的运行情况。 执行计划语法 执行计划的语法非常简单,就是在要执行的SQL语句前加上 即可。 以我们在上一篇文章中创建的 阅读全文
摘要:
SQL为什么需要优化? 对于初学者来说,能够写出实现功能的SQL语句而不出错,查询出所需要的结果,就已经能够满足日常使用了。但在某些场景,对性能的要求比较高,因此,要求SQL的执行响应速度快,就需要对SQL进行一定程度的优化。 在实际应用场景中,MySQL经常会存在诸如性能低、执行时间过长、等待时间 阅读全文
摘要:
上一篇文章主要介绍了MySQL在Ubuntu18.04系统上的安装,以及安装过程中可能会遇到的一些问题的解决方案。 在这篇文章里,开始介绍MySQL数据库的逻辑分层。通过本文的介绍,可以大致了解到MySQL的语句从客户端发出请求后,在服务器经历了怎样的过程。有助于后面MySQL优化的加深理解。 My 阅读全文
摘要:
注意: 本文操作环境为win10系统wsl下的Ubuntu18.04,对于原生的Ubuntu18.04同样适用。MySQL默认版本为5.7,其他版本不适用。 安装步骤 1.更新源: 2.安装mysql: wsl下使用上述命令安装就直接安装上去了,没有设置密码的地方,这时候无论怎么登陆,都无法登录上去 阅读全文