`

事务处理及锁定

 
阅读更多
1.了解Mysql的存储引擎
mysql提供了多种存储引擎,用户可以根据自己的目的或洗好来选择存储引擎。
2.设置存储引擎
要使用事物处理功能时,必须将表设置为InnoDB引擎。有的Mysql版本安装后,并没有激活InnoDB引擎,这时候需要修改my.ini等文件来激活InnoDB
引擎。
确认现在使用了什么存储引擎:show create table customer;
engine=InnoDB 等于后面的部分是正使用中的引擎。通常没有特别指定的引擎,将默认引擎MyISAM。
3.存储引擎的改变:
alter table customer ENGINE=MyISAM;
4.事务处理:
演示简单的事物处理-----删除后回滚
首先将表customer的存储引擎该为InnoDB。
alter table customer ENGINE=InnoDB;
确认表customer中的数据。
select * from customer;
事物开始。
begin;
删除表customer中的全部数据。
delete from customer;
再次确认customer中的数据。
select * from customer;
回滚处理。
rollback;
确认customer中的数据是够恢复。
select * from customer;
注意:如果将rollback换成commit,那么删除的处理就被提交,在也不可恢复,在执行commit前还需要最后确认以下。
5.自动提交功能
将自动提交功能设置为off:set autocommit=0;
将自动提交功能设置为on:set autocommit=1;
6.部分回滚----只提交针对数据库的部分操作
上面学习了rollback语句的最基本用法,即回滚到事物开始的状态。其实还可以在事物处理过程中定义保存点 savepoint,然后回滚到指定的保存点前的状态,其工作原理:
下面将向表插入3条数据,在第二条数据的后面定义一个保存点。
begin;
insert into customer values(‘T001’,'王二小',‘1990-01-01’,‘1’);
insert into customer values(‘T002’,'小明',‘1990-01-01’,‘1’);
SAVEPOINT sp;
insert into customer values(‘T003’,'小红',‘1990-01-01’,‘0’);
select * from customer;
rollback to savepoint sp;
select * from customer;
结果显示sp 保存点以后的插入记录没有插入进去。
7.事物处理的利用范围:
下面几条sql命令,执行后将自动被提交,是在事物处理可以利用的范围之外。
drop database;
drop table;
drop;
alter table;
8.锁定的种类:
按照使用的目的可以将锁分为共享锁定(Shared Lock)与排他锁定(eXclusive Lock)。
共享锁是当前用户参照数据时,将对象数据变为只读形式的锁。
排他锁定是使用insert、update、delete 命令数据进行更新时锁定。
9锁定粒度
锁定对象的大小,单位通常被称为锁定的粒度。
记录(行)。
表。
数据库。
分享到:
评论

相关推荐

    PostgreSQL技术内幕:事务处理深度探索.docx

    锁定策略是事务处理的优化方案之一。锁定策略可以实现并发控制,防止并发操作产生的问题。 并发控制技术是事务处理的另外一种优化方案。该技术可以实现并发控制,确保事务之间的相互独立。 结论 PostgreSQL 的...

    oracle事务处理

    事务处理的锁机制是指数据库对数据对象的锁定,以防止其他事务对数据对象的访问。锁机制可以分为以下几种: * 排它锁(Exclusive Locks):禁止其他事务对数据对象的读取和修改。 * 共享锁(Share Locks):允许...

    Oracle事务与锁定

    Oracle数据库利用锁定机制来实现事务处理中的并发控制,保证在多用户环境下数据的一致性和并行性。 事务有四个基本特征,通常被称为ACID属性: 1. 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不...

    mySQL事务处理

    关于mysql的事务处理 public static void StartTransaction(Connection con, String[] sqls) throws Exception { if (sqls == null) { return; } Statement sm = null; try { // 事务开始 System....

    Mysql事务控制(XA分布式事务)和锁定语句

    InnoDB存储引擎则实现了行级锁定,这种锁定方式允许并发处理同一表中的不同行,从而极大地提高了多用户环境下的性能。 #### 事务控制详解 MySQL的事务控制功能确保了数据的一致性、隔离性、持久性和原子性。默认...

    事务处理概念与技术

    根据提供的文件信息,我们可以深入探讨事务处理的概念和技术,特别是这些技术在实时数据库系统中的应用。 ### 事务处理概念 #### 定义 事务是数据库管理中的一个基本操作单元,它包含一系列的操作,这些操作要么...

    数据库的事务处理方法

    数据库的事务处理是确保数据完整性、一致性和可靠性的核心机制,尤其在多用户并发环境下,事务扮演了至关重要的角色。事务处理确保多个SQL语句作为一个单一的工作单元执行,以达到以下两个关键特性: 1. 一致性:...

    事务控制和锁定语句1

    锁定机制确保了在事务处理过程中数据的一致性,而事务控制则保证了原子性、一致性、隔离性和持久性(ACID属性)。通过合理使用这些工具,开发者可以有效地管理并发操作,避免死锁和其他并发问题,从而维护数据库的...

    java事务处理总结

    ### Java事务处理总结 在Java开发中,事务处理是一项非常重要的技术,它能够确保数据的一致性和完整性。本文将从多个角度对Java中的事务处理进行深入解析,帮助开发者更好地理解和运用这一技术。 #### 一、事务的...

    轻轻松松掌握ADO.NET事务处理方法技巧

    轻轻松松掌握 ADO.NET 事务处理方法技巧 ADO.NET 事务处理方法是指在编程中使用的一种机制,用于保证数据一致性和完整性。事务是一组不可分的 SQL 语句,在编程中也是很难解决的一个问题。ADO.NET 事务处理方法提供...

    微服务架构下的分布式事务处理.pdf

    在try阶段,事务处理会锁定资源,在confirm阶段,事务处理会提交事务,而在cancel阶段,事务处理会回滚事务。 在微服务架构下,TCC模型可以提供高可用性和最终一致性。TCC模型可以在微服务架构下使用,解决分布式...

    大规模SOA系统中的分布式事务处理

    7. **数据库支持**:许多现代数据库如MySQL、MongoDB等提供了对分布式事务的支持,例如MySQL的InnoDB存储引擎支持行级锁定,而MongoDB的多文档事务则提供了跨集合的事务处理。 8. **幂等性**:在分布式事务中,幂等...

    C# 事务处理机制

    在IT行业中,尤其是在数据库操作和系统开发中,事务处理机制起着至关重要的作用。本文将深入探讨C#中如何实现事务处理,特别是在处理与数据库交互的场景下,如北风数据库(Northwind Database)的Orders和Order ...

    浅析PostgreSQL事务处理机制

    ### 浅析PostgreSQL事务处理机制 #### PostgreSQL简介 PostgreSQL是一款开源的对象关系数据库系统,其历史可以追溯至1977年,由Michael Stonebraker领导的加州伯克利分校的INGRES项目发端。它支持大部分SQL标准,...

    SQL事务处理代码共享

    在本"SQL事务处理代码共享"资源中,我们重点关注如何在实际编程中实现SQL事务。通过分析其中的"bank"文件,我们可以了解到与银行交易相关的事务处理机制,这是数据库操作中的核心概念。 事务处理通常包含四个基本...

    mysql事务处理用法与实例详解

    ### MySQL事务处理用法与实例详解 #### 一、事务的概念及重要性 在数据库管理中,事务(Transaction)是指一系列作为一个整体的操作序列。这些操作要么全部成功,要么全部失败,不能只执行其中的一部分。事务处理...

    分布式事务之2PC事务处理原理

    2PC(两阶段提交)是一种经典的分布式事务处理算法,它试图通过协调参与者的操作来实现全局的一致性。 **两阶段提交(2PC)的工作原理** 1. **准备阶段(投票阶段)**: 在这个阶段,事务协调者(通常是应用...

    MySQL事务处理详细讲解及完整实例

    MySQL的InnoDB存储引擎支持事务处理,它是默认的存储引擎,提供了ACID事务和行级锁定功能。相比之下,MyISAM引擎不支持事务处理,适合于读取密集型应用。 总结,理解并熟练掌握MySQL的事务处理是数据库管理员和...

Global site tag (gtag.js) - Google Analytics