数据库原理
文章平均质量分 83
数据库原理
gqltt
这个作者很懒,什么都没留下…
展开
-
SQL优化 21 连击
复合索引也称为联合索引,当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。如果字段的大小有变化,应用就会受到影响,因为它必须修改字段宽度。默认新增SQL有事务控制,导致每条都需要事务开启和事务提交,而批量处理是一次事务开启和提交,效率提升明显,达到一定量级,效果显著,平时看不出来。列经常被修改,而且每次被修改的数据的长度不同,这会引起“行迁移”现象,而这造成多余的I/O,是数据库设计中要尽力避免的,这种情况下用。转载 2024-07-21 14:40:04 · 50 阅读 · 0 评论 -
JPA EntityManagers,事务及其周围的一切
介绍对我来说,最令人困惑和不清楚的事情之一是,作为Java开发人员,一直是围绕事务管理的谜团,尤其是JPA如何处理事务管理。 事务什么时候开始,什么时候结束,实体的持久化方式,持久性上下文等等。 诸如Spring之类的框架也无助于理解概念,因为它们提供了另一层抽象,这使事情难以理解。 在今天的帖子中,我将尝试揭露JPA关于实体管理的规范,其事务规范以及如何更好地理解该概念如何帮助我们有效地设计和编码的某些秘密。 我们将努力保持讨论尽管我们将同时研究Java SE(其中没有Java EE容器)和基于J.转载 2021-07-02 16:12:03 · 1233 阅读 · 0 评论 -
JPA架构
JPA(Java持久性API)是存储业务实体关联的实体的来源。它显示了如何定义一个面向普通Java对象(POJO)作为一个实体,以及如何与管理关系实体。类级别架构下图显示了JPA的类的层次结构。它显示核心类和JPA接口。下表描述了每个在上述架构的显示单元。单元 描述 EntityManagerFactory 这是一个EntityManager的工厂类。它创建并管理多个EntityManager实例。 EntityManager 这是一个接口,它管理的持久化操作的转载 2021-07-02 15:45:38 · 253 阅读 · 0 评论 -
JPA和事务管理2
JPA和事务管理很重要的一点是JPA本身并不提供任何类型的声明式事务管理。如果在依赖注入容器之外使用JPA,事务处理必须由开发人员编程实现。UserTransaction utx = entityManager.getTransaction();try { utx.begin(); businessLogic(); utx.commit();} catch(Exception ex) { utx.rollback(); throw ex...转载 2021-07-02 15:33:04 · 730 阅读 · 0 评论 -
JPA和事务管理
1 事务1.1事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事转载 2021-07-02 14:49:50 · 1486 阅读 · 0 评论 -
JPA - EntityTransaction与事务
EntityTransaction 接口用来管理资源层实体管理器的事务操作,通过调用实体管理器的getTransaction方法 获得其实例。其常用方法如下:① begin用于启动一个事务,此后的多个数据库操作将作为整体被提交或撤消。若这时事务已启动则会抛出 IllegalStateException 异常。② commit用于提交当前事务。即将事务启动以后的所有数据库更新操作持久化至数据库中。③ rollback撤消(回滚)当前事务。即撤消事务启动后的所有数据库更新转载 2021-07-02 14:28:26 · 544 阅读 · 0 评论 -
JPA事务示例分析
在这个工程中,定义一个名为User的实体:@Entity@Data@NoArgsConstructorpublic class User { @Id @GeneratedValue private Long id; @Size(max = 5) private String name; @Max(50) private Integer age; public User(String name, Integer age) {原创 2021-07-02 12:03:24 · 537 阅读 · 2 评论 -
Spring Data JPA事务管理
1、事务基础概念_四大特性 数据库中事务的四大特性(ACID),如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性,是指事务包含的所有操作,要么全部成功,要么全部失败回滚。因此,事务的操作如果成功就必须要完全持久化到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency) 一致性,是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。转载 2021-07-02 11:13:20 · 2313 阅读 · 0 评论 -
数据库事务的概念及其实现原理
目录1. 认识事务 1.1 为什么需要数据库事务 1.2 什么是数据库事务 1.3 事务如何解决问题 1.4 事务的ACID特性以及实现原理概述 2.并发异常与并发控制技术 2.1 常见的并发异常 2.2 事务的隔离级别 2.3 事务隔离性的实现——常见的并发控制技术 2.3.1 基于封锁的并发控制 2.3.2 基于时间戳的并发控制 2.3.3 基于有效性检查的并发控制 2.3.4 基于快照隔离的并发控制 2.3.5 关于并发控制技术的总结转载 2021-07-02 10:59:57 · 6653 阅读 · 1 评论