MySQL面试重点
文章平均质量分 62
菜菜的大数据开发之路
Java技术栈 AND 大数据开发,学习笔记, 拒绝水文
展开
-
InnoDB行锁透析-共享锁S, 排它锁X, 记录锁RecordLock, 间隙锁GapLock, 邻键锁Next-Key Locks
前言每个数据库几乎都会实现自己的锁机制,锁机制是数据库区别于文件系统的主要标志之一,用于管理对共享资源的并发访问。 Mysql数据库InnoDB引擎支持行级锁,也就是说我们可以对表中某些行数据执行锁定操作,锁定操作的影响是:如果一个事物对表中某行执行了锁定操作,而另一个事务也需要对同样的行执行锁定操作,这样第二个事务的锁定操作有可能被阻塞,一旦被阻塞第二个事务只能等到第一个事务执行完毕(提交或回滚)或超时。本文主要介绍InnoDB中的行锁相关概念,重点介绍行锁的锁定范围:什么样的SQL语句会加.转载 2022-05-23 23:30:13 · 673 阅读 · 0 评论 -
Mysql 窗口函数
一, MySQl 8.0 窗口函数窗口函数适用场景: 对分组统计结果中的每一条记录进行计算的场景下, 使用窗口函数更好;可以跟Hive的对比着看: 点我, 特么的花了一晚上整理, 没想到跟Hive 的基本一致, 还不因为好久没复习博客了, 淦注意: mysql 因为没有array数据结构, 无法像Hive一样 行列进行转换;1.1 窗口函数分类MySQL从8.0版本开始支持窗口函数。窗口函数的作用类似于在查询中对数据进行分组,不同的是,分组操作会把分组的结果聚合成一条记录,而窗口函数是原创 2022-03-04 23:43:00 · 38959 阅读 · 14 评论 -
MySQl 面试重点_9. MySQL 主从复制原理,作用,实现
转载自: 点我转载 2022-04-09 21:46:17 · 103 阅读 · 0 评论 -
MySQl 面试重点_8. 数据库的冷备份和热备份
一、 冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、 是非常快速的备份方法(只需拷文件) 2、 容易归档(简单拷贝即可) 3、 容易恢复到某个时间点上(只需将文件再拷贝回去) 4、 能与归档方法相结合,做数据库“最佳状态”的恢复。 5、 低度维护,高度安全。 但冷备份也有如下不足: 1、 单独转载 2022-04-09 21:30:20 · 873 阅读 · 0 评论 -
MySQl 面试重点_7. MVCC基本原理
转载自: 点我转载 2022-04-09 21:17:00 · 111 阅读 · 1 评论 -
MySQl 面试重点_6.MySQL 锁机制总结
文章目录一, 锁概述二, 锁的分类2.1 从数据的操作类型角度分为: `读锁`和`写锁`2.2 从数据的操作力度(锁的粒度)角度分为: `表锁`和`行锁`, `页锁`A. 表锁:a. 意向锁b. 自增锁(AUTO-INC)c. 元数据锁(MDL)B. 行锁:a. 记录锁(Record Locks)b. 间隙锁(Gap Locks)c. 邻键锁(Next-Key Locks)Q: InnoDb行锁到底锁的是什么?2.3 从对待锁的态度划分为: `乐观锁`和`悲观锁`A. 悲观锁(Pessimistic Loc原创 2022-04-09 01:32:52 · 998 阅读 · 0 评论 -
MySQl 面试重点_5.MySQL 存储引擎及其区别
1. 定义为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL server的功能,把真实存取数据的功能划分为存储引擎的功能。所以在NysQL server完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的API,获取到数据后返回给客户端就好了。MysQL中提到了存储引擎的概念。它的功能就是接收上层传下来的指令,然后对表中的数据进行提取或写入操作。2. MySQL中MyISAM和InnoDB的区别 (面向面试总结)InnoDB,原创 2022-04-08 22:29:54 · 872 阅读 · 0 评论 -
MySQl 面试重点_4. 数据库三大范式
数据库设计三大范式第一范式: 属性不可分第二范式: 实体的属性完全依赖于主关键字第三范式: 实体属性不依赖于其他非主属性. 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 &nb...转载 2022-04-05 21:30:03 · 307 阅读 · 0 评论 -
MySQl 面试重点_3. MYSQL三大日志-binlog、redo log、undo log
前言 我们都清楚日志是mysql的一个重要组成部分,记录着数据库运行期间各种状态信息。而Mysql日志又分为错误日志、查询日志、慢查询日志、二进制日志(binlog)和事务日志(redo log、undo log)。其中在我们开发中聊的比较多的就是二进制日志(binlog)和事务日志(redo log、undo log)。其实慢查询日志也是我们开发中比较常见的日志,常用于sql优化。本文主要介绍binlog、redo log、undo log三种日志专业名转载 2022-04-05 10:21:36 · 235 阅读 · 1 评论 -
MySQl 面试重点_2.常见的索引面试题总结
文章目录一, 索引定义 (排序 + 定位)二, 索引的优缺点三, 索引的底层数据结构3.1 哈希表3.2 B树 & B+树3.2.1 B树的特点3.2.2 B+树的特点3.2.1 B+树和哈希的区别3.2.2 B+树和B树的区别3.2.3 B+树和红黑树的区别四, 索引类型4.1 MySQL索引都有哪些分类?4.2 按数据结构分类(B+树, Hash索引, 全文索引)4.3 按物理存储分类(聚簇索引, 非聚簇索引/辅助/二级索引))1. 聚簇索引2. 非聚簇索引五, 主键为什么建议选择自增主键六,原创 2022-03-26 17:51:38 · 2475 阅读 · 3 评论 -
什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推
转载 2022-03-25 23:36:16 · 147 阅读 · 2 评论 -
MySQl 面试重点_1. 一条SQL语句的具体执行过程
文章目录一, MySQL基础架构分析1.1 MySQL基本架构组件概览1.2 Server层基本组件介绍二, 结合🌰说一说查询,更新的过程2.1 查询语句的执行过程2.2 更新语句的执行流程三, 凝练总结一, MySQL基础架构分析1.1 MySQL基本架构组件概览组件大致功能连接器身份验证和权限相关(登录时)查询缓存执行查询语句时, 会先查询缓存(MySQL 8.0移除)分析器没有命中缓存, 经过分析器(词法分析, 语义分析)优化器生成SQL语句的最优执原创 2022-03-16 20:22:29 · 1817 阅读 · 2 评论