Java面经之MySQL

[1]. Hibernate和MyBatis的区别?

Hibernate是一种全自动的对象关系映射(ORM)框架,可以通过操作Java对象来间接操作数据库,适合需求明确、业务固定的项目。

MyBatis是一种半自动化的持久层框架,可以通过XML文件或注解直接编写SQL语句,适合需求多变的互联网项目。

[2]. MySQL和Redis的区别?

MySQL是关系型 数据库,以表格的形式将数据存储在硬盘中,读取速度慢。Redis是非关系型数据库,以键值对的形式将数据存储在内存中,读取速度快。

MySQL支持分布式事务,可以保证数据的一致性,而Redis是单节点的,不支持分布式事务,在并发访问时可能会出现数据不一致的情况。

MySQL适用 于大规模数据存储和复杂查询等场景,Redis适用于高并发读写、数据缓存和实时计算等高性能场景。

[3]. MySQL表和视图的区别?

表是存储数据的实体 ,具有完整的结构和功能,可以进行插入更新删除 操作,而视图 基于表的查询结果,提供了一种逻辑上的访问方式,是一个虚拟表 ,不存储实际数据,只能进行查询操作。

[4]. MySQL事务的四大特性?

MySQL事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),即ACID四大特性。其中,原子性、隔离性、持久性是 ,一致性是

原子性指的是事务中的所有操作要么全部执行成功并且对数据库产生了影响,要么全部失败回滚,并且对数据库没有任何影响。

一致性是指事务执行过程中涉及的操作结果必须满足数据库的约束和规则,保证数据库的完整性没有被破坏。

隔离性是指在并发场景中,事务之间是相互隔离、互相独立的,一个事务的执行不受其他事务的影响。

持久性是指一个事务一旦被提交,在数据库中的改变就是永久的,即使系统崩溃,这些改变也不会丢失。

相关推荐
大筒木老辈子2 分钟前
C++笔记---并发支持库(future)
java·c++·笔记
全靠bug跑7 分钟前
Sentinel 服务保护实战:限流、隔离与熔断降级详解
java·sentinel
SHolmes18547 分钟前
给定某日的上班时间段,计算当日的工作时间总时长(Python)
开发语言·前端·python
五岳9 分钟前
Web层接口通用鉴权注解实践(基于JDK8)
java
咖啡の猫15 分钟前
Python字典元素的增、删、改操作
java·开发语言·python
Lucky小小吴23 分钟前
JAVA漫谈反序列化篇——笔记
java·开发语言·笔记
winfield82132 分钟前
SELECT FOR UPDATE 是怎么使用的?
mysql
练习时长一年38 分钟前
LeetCode热题100(最小栈)
java·算法·leetcode
阿杰AJie41 分钟前
通用 Token 管理工具(详细注释 + 完整使用示例 + 设计说明)
java·后端·程序员
TH_142 分钟前
28、powershell快速删除 node_modules
java