深入理解MySql
从底层一步步分析Mysql,让你对Mysql有更深入的理解,不在简单只知道使用sql语句,让你知其然知其所以然
呆东
小菜鸡也有大梦想,努力拼搏,就是为了给那些曾经看轻你的人一记响亮的耳光
展开
-
【MySql专栏】—— 关联查询join的流程以及优化
一、应不应该使用关联查询?对于关联查询来说,并不是所有情况下都能使用的,有的公司会直接禁用关联查询,因为使用关联查询后,那么后序在项目升级时,对数据库进行分库分表后,关联查询就没办法在使用,所有代码都需要重构,不利于后期的维护和重构。本篇文章的前提条件是可以使用关联查询,那么在我们使用关联查询的时候需要注意什么?为了后序的验证,这里创建两个表CREATE TABLE `t1` ( ...原创 2019-06-13 00:16:49 · 1188 阅读 · 2 评论 -
【MySql专栏】—— 排序order by的过程
在开发过程中,我们经常需要根据某个字段进行排序,在拿到我们需要的结果即,那么当我们在使用order by这个语句的使用,mysql内部都做了那些操作的,这就是这篇文章想要说明的问题,首先我们来创建一个订单表,里面有三个字段主键id,订单id和一个创建时间,创建表的语句如下:CREATE TABLE `order` ( `id` int(11) unsigned NOT NULL AUTO...原创 2019-06-03 23:19:21 · 353 阅读 · 0 评论 -
【MySql专栏】—— 构建一个数据库的同步双机备份
在现在生产中,一台数据库已经完成不能满足需求,这个时候我们就需要构建MySQL集群来搭接系统,mysql提供主从复制,来进行读写分离和数据备份。这一篇博客,主要是想说明一下,如何实现两台服务器上的 MySQL 数据实时同步,互为主备。一、在Linux下安装MySql首先去MySQL官网去下载你需要的安装包,我下载的是mysql-5.7.20-linux-glibc2.12-x86_64.t...原创 2019-01-15 15:28:17 · 980 阅读 · 1 评论 -
【MySql专栏】—— 事务的特性
一、事务的概念事务是一个或几个操作组成的一个整体执行单元,它们要么全部执行,要么全不执行,不能只执行其中的某几个操作;可以理解为一个事务是一个程序中执行的最小单元,在同一个事务中的多条sql语句,要么全部成功,要么全部失败。在MySql中事务的实现是在引擎层,而MyISAM引擎不支持事务,InnoDB支持事务。二、事务的特性事务包含四个特性:原子性、一致性、隔离性、持久性,简称AC...原创 2018-12-20 13:33:26 · 249 阅读 · 0 评论 -
【MySql专栏】—— 锁的概念
一、锁的作用数据库加锁,是为了处理并发问题,在并发下保证数据一致性。虽然我们在发开的过程中,没有使用锁的情况下,我们的程序也可以正常的执行,那是因为数据库帮我们隐式的添加了锁,这篇博客主要从两个大方面来讲,按照使用方式可以讲锁分为:悲观锁和乐观锁;按照粒度可分为:全局锁,表锁和行锁,并在出现死锁后如何解决。二、乐观锁和悲观锁2.1乐观锁和悲观锁的概念乐观锁是一种思想,实现方法为...原创 2018-12-18 22:37:10 · 748 阅读 · 0 评论 -
【MySql专栏】—— 索引的概念
我们在面试时,经常会被问到有关索引的知识,什么是索引?为什么索引可以加快数据查询?如何选择创建索引?索引的最左匹配原则是什么?等等,针对这些问题,你都可以在本篇博文中,找到你要想的答案。1.索引的作用简单来说,索引就可以帮助我们快速查找数据。那为什么索引可以帮助我们快速查找数据呢?首先我们要了解,MySql中,数据都是存储在页中的,在InnoDB中一个页的大小是16KB,数据页的结构如图所...原创 2018-12-14 15:43:26 · 340 阅读 · 1 评论 -
【MySql专栏】—— sql语句的执行流程
前言:平时我们在开发的时候,经常要使用数据库来存放我们的信息,但是都只是简单的使用sql语句来操作数据库读取信息和修改信息,并没有深入了解Mysql,最近本来也在极客时间上学习MySql的知识,将此专栏作为读书笔记,记录学习的重点和自己的一些粗浅的看法,希望能帮助看到这个专栏的人快速理解MySql。今天这篇博文,简单介绍一下一条Sql语句的是怎么在MySql中进行运行的,首先我们来看一张执行的...原创 2018-12-13 20:05:12 · 593 阅读 · 0 评论