挑战春招找到java后端实习第三天(1.4)

八股文

MySQL的索引类型有哪些?

从数据结构分可以分为B+树索引(适用于范围查找如between和精确查找如=),哈希索引(适用于=,不适用于< >),倒排索引(全文的查找,如TEXT类型的列),R-树索引(储存空间数据)

从InnoDB B+树索引可以分为聚簇索引(索引节点完整存储数据记录如主键索引)和非聚簇索引(索引的叶子节点存储了主键值和对应的索引字段,如非主键索引)

从索引性质可以分为普通索引,主键索引,联合索引,唯一索引,全文索引,空间索引

MySQL中的事务隔离级别有哪些?

(1)读未提交

定义:是最低级别的事务隔离,可以读取另一事务尚未提交的数据

特点:会出现脏读,既读取其他事务未提交的数据;事物之间影响大,容易数据错误

适用:实时性高且不要求数据一致

(2)读已提交

定义:允许一个事务读取另一事务已提交的数据

特点:避免了脏读;会读取已提交事务的修改,若有其他事务查询同一条件的数据,会导致修改前后不一致的情况。

适用:交易;多用户编辑文档

(3)可重复读(MySQL默认)

定义:读取相同条件的数据,即使另一事务已经修改并提交,依然会读取上一个未提交的数据

特点:保证同一事物多次结果一致;可避免不可重复读,但存在幻读问题,即同一事务相同查询可能返回不同数量的行;

适用:多次查询要求结果一致

(4)串行化

定义:MySQL中的事务隔离最高级别,通过锁机制,一个事务只有前一个事务提交成功才会开始,确保了事务的完全隔离,避免了并发操作时可能出现的问题。

特点:避免幻读,脏读,不可重复读;但并发性能较低。

适用:数据量不大或并发量少

来自:面试鸭

相关推荐
大圣编蚕4 分钟前
Spring AOP 失效排查:从原理到实战的完整指南
java·后端·spring
Omics Pro6 分钟前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
EatFan11 分钟前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
专业程序开发源12 分钟前
springboot全民健身和饮食健康管理系统29158-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
ym hyd 11114 分钟前
汽车零部件缺陷管理系统源码 Java+SpringBoot+Vue3 前后分离
java·vue.js·spring boot·汽车·毕设
小道士写程序15 分钟前
Windows Rust 环境安装指导
开发语言·windows·rust
xh didida16 分钟前
Linux -- 进程概念
linux·服务器·开发语言·c++
爱吃香菜的初学者16 分钟前
十三.Linux——信号量
linux·运维·服务器·开发语言
凉茶钱23 分钟前
【C++】string 常用函数详解
开发语言·c++·string
Wang's Blog33 分钟前
Java框架 SpringCloud 快速入门: 从服务拆分到注册中心的落地路线
java·开发语言·spring cloud