基本面试

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 【8月更文挑战第3天】
  • 知道MySQL的锁机制吗?
  • 了解MySQL的锁吗?

类似的问题可以综合回答,介绍MySQL的五花八门的锁。

MySQL的锁机制非常丰富,以InnoDB引擎为例。首先,从锁的范围看,可以分为行锁和表锁;其次,从排它性来看,可以分为排它锁和共享锁;还有意向锁,结合排它性,可以分为排它意向锁和共享意向锁;还有三个重要的锁概念,记录锁、间隙锁和临键锁。记录锁,是指锁住某条记录;间隙锁,是锁住两条记录之间的位置;临键锁可以看成记录锁和间隙锁的组合情况。
还有一种分类是乐观锁和悲观锁,在数据库里使用乐观锁的话,本质是应用层面上的CAS操作。

先从大方向上解释清楚锁的根本特性,而不是深入去解释各种锁。根本特性是:锁是和索引、隔离级别密切相关的

在MySQL的InnoDB的引擎里,锁和索引、隔离级别都是有密切关系的。在InnoDB引擎里面,锁是依赖于索引来实现的。或者说,锁都是加在索引项上的,如果一个查询用到了索引,就会用行锁;如果没用到任何索引,就会用表锁,此外,在MySQL里面,间隙锁和临键锁都是只工作在可重复读这个隔离级别下的。

后续的追问:

  • 某一种锁的具体含义
  • 某一种锁的适用场景,注意意向锁
  • 怎么在数据库使用乐观锁,或者用乐观锁解决过什么问题
  • 有没有优化过锁,或是解决过死锁
  • 详细介绍记录锁、间隙锁和临键锁,也有可能问MySQL在可重复读的隔离级别下会不会有幻读问题?(在MySQL的可重复读隔离级别下,不会出现幻读问题。这是因为MySQL使用了临键锁来解决幻读问题,保证在可重复读隔离级别下事务执行过程中不会出现插入新数据导致的幻读情况。)

还是需要一些实际的锁优化案例来证明能力

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
|
程序员 Linux Python
2024年最全03(1),2024年最新面试时千万不能说的三个大忌
2024年最全03(1),2024年最新面试时千万不能说的三个大忌
|
前端开发 安全 搜索推荐
【面试总结2】2
【面试总结2】
|
消息中间件 API
准备面试了~
金三银四,准备面试了~
|
消息中间件 存储 缓存
|
算法 Java 测试技术
面试那些事
面试那些事
200 0
面试那些事
|
XML 设计模式 安全
面试总结20201101
一、什么是泛型、为什么要使用以及泛型擦除
86 0
面试总结20201101
面试之后,扼腕叹息。 (下)
面试之后,扼腕叹息。 (下)
120 0
|
SQL 网络协议 Java
IT面试
一、找工作前的准备 《王道程序员求职宝典》、《剑指 offer》、上课笔记+代码+视频、项目代码、简历。 二、面试流程 1. 一般都是先做一套笔试题,大概三十分钟。 2. HR 问一些问题,比如:为什么离职?之前在什么公司上班?薪水多少? 3. 技术面试,首先问你笔试
150 0
|
XML SQL 前端开发
面试总结20201005
面试总结20201005
133 0
|
关系型数据库 MySQL 数据库
面试汇总1
面使用,资料从网络上搜集整理。
2247 0

热门文章

最新文章