![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库Mysql
文章平均质量分 75
主要记录Mysql的学习以及面试题目
weixin_47236538
这个作者很懒,什么都没留下…
展开
-
MySQL面试题目
1 MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联:主线程:bin log线程–记录下所有改变了数据库数据的语句,放入master的bin log中从线程:io线程–在使用start slave 之后,负责从master拉取bin log内容,放入自己的relay log中从线层:sql执行线程–执行relay log中的语句。2MySQL数据库中MyIsam和InnoDB的区别1 五点不同InnoDB支持事务,MyIsam不支持事务InnoDB支持行锁,而MyIsa转载 2021-12-26 16:18:37 · 89 阅读 · 0 评论 -
阿里开发规范解读:MySQL索引选择性陷阱
前言:当一条SQL语句执行速度较慢时,我们想到的第一件事就是给条件列加上索引,但是索引并不是适用于所有的字段,添加索引甚至可能导致检索速度变慢。什么样的数据列适合加索引呢?这是一个值得考虑的问题。开发规范:强制 页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决说明:索引文件具有B+Tree的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引相信大多数人对于上面的规范都有所了解。但是索引的选择性问题更加隐蔽,在某些条件下不适合建立索引。索引选择性陷阱#上表除了主键之外,其.转载 2021-12-20 20:59:15 · 212 阅读 · 0 评论 -
MySQL的MVCC机制
在前面的文章中说到,MySQL的默认隔离级别为可重复读repeatable read,InnoDB存储引擎在这个默认的隔离级别下可以在一定程度上解决幻读的问题,那么它是如何做到的,本文将讲解InnoDB的MVCC多版本并发控制问题,MVCC是基于“数据版本”对并发事务进行访问的,MVCC应用在RC和RR两个隔离级别下。实例介绍图中一共有四个事务A,B,C,D,其中的tx_id是在事务开始时MySQL分配的事务编号。分别是1、2、3和4。其中前三个事务分别在不同的时间点更新数据然后提交,而第四个数据是在不转载 2021-12-19 15:44:22 · 74 阅读 · 0 评论 -
MySQL脏读、幻读、不可重复读
对于MySQL的事务存在脏读、不可重复读和幻读的问题,那么这些问题是如何产生?如何通过事务的隔离级别来确保事务的数据预期可控?查看当前会话的隔离级别:select @@transaction_isolation;设置会话的隔离级别,隔离级别由低到高设置依次为:set session transaction isolation level read uncommitted;set session transaction isolation level read committed;set se转载 2021-12-19 14:47:49 · 102 阅读 · 0 评论 -
一条sql语句的执行流程
作为一个后端开发人员,我们要天天喝数据库打交道,每天写上几十条SQL 语句,但是你知道我们的系统是如何和数据库交互的吗?MySQL如何帮我们存储数据,如何来帮我们管理事务?本篇文章将讲解系统如何和MySQL交互,以及我们发送的SQL语句时又做了什么事情。MySQL驱动系统在和MySQL数据库进行通信时,驱动在底层帮我们建立了数据库的连接,这样才能有后面的交互。这样驱动会为我们建立连接,一次SQL请求就会建立一个连接,多个请求会建立多个连接,如果tomcat多次建立并且关闭连接,那么会出现问题。J转载 2021-12-18 22:03:19 · 156 阅读 · 0 评论