事务

设置事务不自动提交的时候,查询也会开启事务;

READ COMMITED的时候:

(读写不互斥)(在自身事务,每次读都是读到数据最近一次提交的状态,所以)

一个写的时候另外一个可以读,在第一个事务没有提交之前,第二个事务读到的是第一个事务修改之前的数据,在第一个事务提交后,第二个事务读到的是第一个事务修改后的数据。

这也是不可重复读产生的原因。

一个读的时候另外一个可以写数据,

(写写互斥)一个事务在更新某条数据,另外一个事务只有等待前一个事务提交才能更新该数据。

 

REPEATABLE READ :

(读写不互斥)(在自身事务,第一次读数据的时候,读到的是该数据最近一次提交的状态,此后每次读数据都和第一次的数据保持一致,不论期间数据被其他事务修改提交了多少次。原理是通过,数据库的多版本并发控制(MVCC)实现,具体看下文(后面的文字和图片)。只有当自身事务本身提交后,才能读到新的其他事务提交的数据)

一个事务读的时候,另外一个事务修改并提交了事务,那么第一个事务反复读同一条数据读到的都是第二个事务修改之前的数据。只有当第一个事务提交后,才能读到第二个事务修改的数据。

也就是说第一个事务读同一条数据读到的都是一样的,就是它第一次读该数据时,该数据的状态,即便这时候有其他事务修改并提交了事务。只有当第一个事务提交后,才能读取到最新的数据。一个事务写的时候,另外一个事务只能读到第一个事务写之前的数据,当第一个事务提交后,第二个事务读到的仍然是第一个事务写之前的数据。只有当第二个事务自身提交后,才能读到第一个事务提交后的数据。

(写写互斥)

一个事务在更新某条数据,另外一个事务只有等待前一个事务提交才能更新该数据。

 

串行化:(读写互斥,写读互斥,写写户次,读读不互斥)

 

隔离级别的实现原理

使用MySQL的默认隔离级别(可重复读)来进行说明。

每条记录在更新的时候都会同时记录一条回滚操作(回滚操作日志undo log)。同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)。即通过回滚(rollback操作),可以回到前一个状态的值。

假设一个值从 1 被按顺序改成了 2、3、4,在回滚日志里面就会有类似下面的记录。

彻底搞懂 MySQL 事务的隔离级别

 

在IT领域,尤其是地理信息系统(GIS)中,坐标转换是一项关键技术。本文将深入探讨百度坐标系、火星坐标系和WGS84坐标系之间的相互转换,并介绍如何使用相关工具进行批量转换。 首先,我们需要了解这三种坐标系的基本概念。WGS84坐标系,即“World Geodetic System 1984”,是一种全球通用的地球坐标系统,广泛应用于GPS定位和地图服务。它以地球椭球模型为基础,以地球质心为原点,是国际航空和航海的主要参考坐标系。百度坐标系(BD-09)是百度地图使用的坐标系。为了保护隐私和安全,百度对WGS84坐标进行了偏移处理,导致其与WGS84坐标存在差异。火星坐标系(GCJ-02)是中国国家测绘局采用的坐标系,同样对WGS84坐标进行了加密处理,以防止未经授权的精确位置获取。 坐标转换的目的是确保不同坐标系下的地理位置数据能够准确对应。在GIS应用中,通常通过特定的算法实现转换,如双线性内插法或四参数转换法。一些“坐标转换小工具”可以批量转换百度坐标、火星坐标与WGS84坐标。这些工具可能包含样本文件(如org_xy_格式参考.csv),用于提供原始坐标数据,其中包含需要转换的经纬度信息。此外,工具通常会附带使用指南(如重要说明用前必读.txt和readme.txt),说明输入数据格式、转换步骤及可能的精度问题等。x86和x64目录则可能包含适用于32位和64位操作系统的软件或库文件。 在使用这些工具,用户需要注意以下几点:确保输入的坐标数据准确无误,包括经纬度顺序和浮点数精度;按照工具要求正确组织数据,遵循读规则;注意转换精度,不同的转换方法可能会产生微小误差;在批量转换,检查每个坐标是否成功转换,避免个别错误数据影响整体结果。 坐标转换是GIS领域的基础操作,对于地图服务、导航系统和地理数据分析等至关重要。理解不同坐标系的特点和转换方法,有助于我们更好地处
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值