![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 63
北漂程序员01
公众号:北漂程序员。我是一位从事java工作近10年的程序员,喜欢分享知识,乐于帮助他人。
展开
-
java面试一日一题:mysql事务是如何实现的
大家好,我是北漂程序员,欢迎关注公众号问题:请讲下mysql的事务是如何实现的分析:该问题主要考察对事务的理解及实现方式;回答要点:主要从以下几点去考虑,1、对事务的概念的理解?2、事务的实现方式?讲到mysql的事务,很快可以想到事务的4大特性,那就是ACID,具体说来就是原子性、一致性、隔离性、持久性。也就是说事务就是围绕这4个特性来展开的。其中隔离性中又定义了隔离级别,有读未提交、读已提交、可重复度、可串行化这样4个级别。对于事务的4个特性,原子性、一致性、持久性.原创 2021-06-11 22:05:03 · 1150 阅读 · 0 评论 -
java面试一日一题:如何优化sql
大家好,我是北漂程序员,欢迎guan问题:请讲下在mysql下如何优化sql分析:该问题主要考察对mysql的优化,重点考虑对索引优化的掌握。回答要点:主要从以下几点去考虑,1、什么样的sql需要优化?2、怎么对sql进行优化?3、如何避免索引失效?要优化sql首先要判断哪些sql需要优化,然后是怎么优化,最后才是优化开启慢查询在mysql中慢查询是默认关闭的,在排查慢sql的时候建议开启慢查询,但在生产环境下不建议开启,因为会对性能造成影响;explain.原创 2021-06-11 22:02:47 · 93 阅读 · 0 评论 -
java面试一日一题:讲下mysql中的锁
问题:请讲下在mysql中的锁分析:该问题主要考察对中锁的掌握,主要考察的是读、写锁、行锁、间隙锁、next-key,其他还有表锁、意向锁回答要点:主要从以下几点去考虑,1、mysql中的锁有哪些?2、每种锁的使用场景?mysql中的锁主要有读写锁、行锁、间隙锁、next-key读锁读锁,又叫共享锁,简称S锁,用在读操作上,事务A对数据加上了S锁,那么事务A只能进行读操作,其他事务包括A不能再对数据加X锁,但是可以加S锁;例,select ... in share..原创 2021-06-11 22:00:10 · 1112 阅读 · 0 评论 -
java面试一日一题:讲对mysql的MVCC的理解
问题:请讲下对mysql中MVCC的理解分析:这个问题要回答的是对MVCC的理解,以及MVCC解决了什么问题这几个方面入手。回答要点:主要从以下几点去考虑,1、什么是MVCC?2、MVCC用来解决什么问题?3、MVCC是怎么实现的?所谓MVCC,在mysql中指的是multi version concurrency control,即多版本并发控制。多版本比较好理解就是有多个版本,那么是指的什么有多个版本,这里指的是数据行,mysql中的数据行有多个版本,再看后面的并发控制.原创 2021-06-10 22:26:07 · 1319 阅读 · 0 评论 -
java面试一日一题:mysql执行delete数据真的被删除了吗
大家好,我是北漂程序员,欢迎关注公众号:北漂程序员问题:请讲下mysql执行了delete操作,数据真的被删除了吗分析:这个问题考察对mysql底层存储的理解。回答要点:主要从以下几点去考虑,1、肯定没有真正删除?2、为什么这样设计?mysql执行delete操作后,存储在硬盘上的数据没有被删除,只不过在记录行上做了逻辑删除,即通过删除标识位实现。因为移除它们之后,很多其他的记录需要在磁盘上重新排列,这样会消耗大量的性能,比如如果是一张大表,存在索引,删除了其中一行,那.原创 2021-06-10 22:16:03 · 961 阅读 · 0 评论 -
java面试一日一题:mysql中的自增主键
问题:请讲下mysql中的自增主键分析:该问题主要考察对mysql中自增主键的掌握,使用场景及如何设置回答要点:主要从以下几点去考虑1、什么自增主键2、使用场景是什么;3、innodb_autoinc_lock_mode的设置;从学习mysql开始,我们就知道在建表时经常建的是自增主键,并且在mysql的优化中经常看到的一句就是,最好有自增主键,那么自增主键是做什么用的。自增主键的用法,CREATE TABLE t1 ( c1 INT(11) NOT N...原创 2021-06-09 12:18:49 · 212 阅读 · 0 评论 -
java面试一日一题:请讲下对mysql的理解
问题:请讲下对mysql的理解分析:该问题主要考察对mysql的理解,基本概念及sql的执行流程回答要点:主要从以下几点去考虑,1、mysql的整体架构?2、mysql中每一个组件的作用?3、对mysql的自己的见解?从网上拷贝一张图,来说明mysql的整体架构个人认为这张图画的很好,连接器一条sql经过网络传输到达mysql服务器,第一个要经过的就是连接器,负责连接的建立及权限的判定,例如经常看到的下面的错误,ERROR1045(28000):A...原创 2021-06-09 12:17:04 · 69 阅读 · 0 评论 -
java面试一日一题:mysql中常用的存储引擎有哪些?
大家好,我是问题:请讲下mysql中常用的引擎有哪些?分析:该问题主要考察对mysql存储引擎的理解,及区别是什么?回答要点:主要从以下几点去考虑,1、mysql的存储引擎的基本概念?2、mysql中常用的存储引擎有哪些及各自的区别是什么?从上篇《java面试一日一题:请讲下对mysql的理解》已经知道了mysql从整体架构上分为两部分,一部分是server层,另外一部分是存储引擎层。说的简单点存储引擎就是用来实际管理mysql中的数据,为了适用于不同的场景有了不同的存储引.原创 2021-06-09 12:15:13 · 103 阅读 · 0 评论 -
java面试一日一题:mysql的索引下推了解吗
大家好,我是bei'c问题:请问你了解索引下推吗分析:该问题主要考察对mysql优化方面的理解回答要点:主要从以下几点去考虑,1、mysql中索引的概念?2、索引下推的理解及意义?在面试过程中问到mysql,必然会问到索引,问到索引肯定会问索引失效有哪些情况,问到索引失效,必然会问到索引下推。如果可以抗住这样的连环追问,必然会给面试官留下深刻的影响。索引下推是在非主键索引,或者说二级索引/联合索引的情形下,索引的匹配规则遵循最左原则,最左原则会因为like或范围判断而后.原创 2021-06-09 12:13:33 · 192 阅读 · 0 评论 -
java面试一日一题:讲下mysql中的索引
问题:请讲下mysql中的索引分析:mysql中有很多索引,要对对这些索引有所掌握,还要弄清楚每种索引的本质?回答要点:主要从以下几点去考虑1、索引的本质是什么2、mysql的索引分类;3、每种分类的依据;mysql在日常的开发中使用非常广泛,经常会提到的一句是在进行优化的时候,要对索引进行优化,那么到达什么是索引那。索引其实是一种数据结构,建立索引的目的是为了提高查询效率。如果没有索引那么存储在磁盘中的数据(mysql中的数据归根结底是存储在磁盘中的),就...原创 2021-06-09 11:51:52 · 79 阅读 · 0 评论 -
java面试一日一题:binlog undolog redolog的区别
问题:请讲下mysql中binlog、undolog、redolog三种日志的区别分析:mysql中这三种日志很常见,也是面试中涉及比较多的方面,要理解清楚这三种日志的定位及区别;回答要点:主要从以下几点去考虑1、三种日志的作用分别是什么;2、三种日志解决的问题;3、三种日志分别是什么时间写入的;bin log、redo log、undo log三种日志属于不同级别的日志,按照mysql的划分可以分为服务层和引擎层两大层,bin log是在服务层实现的;redo lo...原创 2021-06-09 11:49:11 · 215 阅读 · 0 评论 -
java面试一日一题:讲下mysql中的undolog
问题:请讲下mysql中undo log的作用分析:mysql中有很多日志,例,bin log undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题;回答要点:主要从以下几点去考虑1、undo log产生的背景;2、undo log的作用;开发中经常使用到mysql数据库,用mysql数据库时在新建库或表的时候,最常使用的存储引擎是innodb,在innodb中经常提到事务,那么事务是怎么实现的,可参见:《java面试一日一题:m.原创 2021-06-09 11:42:22 · 167 阅读 · 0 评论 -
java面试一日一题:讲下mysql中的redo log
大家好,我是北漂程序员,欢迎关注:bei'p问题:请讲下redo log的作用分析:mysql中有很多日志,例,binlog undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题?回答要点:主要从以下几点去考虑1、redo log产生的背景;2、redo log的作用;3、为什么redo log比binlog要快;在mysql中,一个事务的提交需要将对数据的修改更新到磁盘上,目的是为了做到数据的持久化,防止数据丢失,比如,.原创 2021-06-09 11:40:24 · 135 阅读 · 0 评论 -
java面试一日一题:说下mysql中的binlog
问题:请讲下mysql中的binlog分析:该问题主要考察对mysql中binlog的理解及使用场景?回答要点:主要从以下几点去考虑,1、什么是binglog?2、binlog的使用场景是什么?在mysql中经常听到binlog,所谓binlog指的是二进制日志文件,用来记录mysql中的DDL、DML语句。该文件有三种记录的格式或者说工作模式,row 记录每一行数据被修改的情况,优点是清晰的记录每一行数据被修改的细节,缺点是binlog日志文件过大;st...原创 2021-06-09 11:38:30 · 125 阅读 · 0 评论 -
mysql面试汇总
最近一直在关注mysql方面的面试题目,并且从最近的面试情况来看,mysql在java后端的面试中,肯定是必问的题目,所以这里有必要对这块的内容进行总结,大家可以根据下面的导图进行重点复习,引擎1、常用的存储引擎及区别;事务1、事务的4大特性;2、事务的隔离级别;3、mysql默认的隔离级别;4、什么是脏读、不可重复读、幻读;5、mysql的可重复读隔离级别是如何解决幻读的;6、什么是表锁、行锁;7、什么是间隙锁、next-key;8、什么是MVCC;调优原创 2021-06-09 11:35:44 · 85 阅读 · 0 评论