mysql事务对查询有没有影响

author author     2023-03-17     706

关键词:

您好,MySQL事务对查询有着重要的影响。MySQL事务是一种数据库技术,它可以保证一组SQL语句在执行过程中的原子性,即要么全部执行,要么全部不执行。这意味着,当您使用MySQL事务时,您可以确保您的查询不会被中断,从而保证查询的完整性和一致性。MySQL事务还可以帮助您控制数据库的可用性,确保您的查询不会被其他用户的操作所干扰。此外,MySQL事务还可以帮助您控制数据库的安全性,确保您的查询不会被未经授权的用户访问。总之,MySQL事务对查询有着重要的影响,它可以帮助您更好地控制数据库的可用性、一致性和安全性。 参考技术A 什么是大事务
定义:运行时间比较长,操作的数据比较多的事务。
大事务风险:
锁定太多的数据,造成大量的阻塞和锁超时,回滚所需要的时间比较长。
执行时间长,容易造成主从延迟。
如何处理大事务:
避免一次处理太多大数据。
移出不必要在事务中的select操作
二、什么是事务
1.原子性:一个事务必须被视为一个不可分割的最小工作单元整个事务的所有操作要么全部提交成功,要么全部失败,对于一个事务来说不可能只执行其中一部分。例如:银行卡转账(整个事务中的所有操作要么全部提交成功要么全部失败)。
2.事务的一致性:一致性是指事务将数据库从一种一致性状态转换到另外一种一致性状态,在事务开始之前和事务结束后数据库中数据的完整性没有被破坏。例如:银行卡转账(一张减去100元,一张增加100元数据没有变化)。
3.事务的隔离性:一个事务对数据库中数据的修改,在未提交完成前对于其他事务不可见的。
读未提交(read-uncommitted):就是一个事务可以读取另一个未提交事务的数据脏读(脏读)
读已提交(read-committed):就是一个事务要等另一个事务提交后才能读取数据(不可重复读)
可重复读(repeatable-read):就是在开始读取数据(事务开启)时,不再允许修改操作
可串行化(serializable):是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是这种事务隔离级别效率低下,比较耗数据库性能,一般不使用。
分析:若有事务对数据进行更新(UPDATE)操作时,读操作事务要等待这个更新操作事务提交后才能读取数据,可以解决脏读问题。但是会出现了一个事务范围内两个相同的查询却返回了不同数据,这就是不可重复读。
注意:
并发性由高到低1>2>3>4
隔离性由高到低4>3>2>1
show variables like '%iso%'(查看当前隔离性级别)
set session tx_isolation (设置隔离级别)
4.事务的持久性:一旦事务提交,则其所做的修改就会永久的保存到数据库中,此时即使系统崩溃,已经提交的修改数据也不会丢失。
三、大表带来的问题
大表定义:单表超过千万行、文件超过10G
大表对查询的影响:
慢查询、
区分度底、
大量磁盘IO、
建立索引需要很长的时间、
修改表结构需要长时间锁表、
影响正常的数据操作
如何处理大表问题:
分库分表把一张表分成多个小表。难点:分表主键的选择、分表后夸分区数据的查询和统计。
大表的历史数据归档(前端增加历史查询)难点:时间点选择,如何进行归档操作
四、在大促中数据库服务器
数据库架构:主从复制、读写分离、集群等。
TPS:每秒处理事务的速度(一个事务三个过程)。
用户请求服务器
服务器内部处理
服务器返回给用户。
QPS:是一台指定服务器每秒能够相应的查询次数。
并发量:同一时间处理的请求的数量。
连接数:和服务器进行连接,但大部分处于sleep状态,只有少部分在运行。
并发量大,连接数大说明cpu空闲少繁忙。
磁盘IO读写过高会对服务器性能能造成影响。
不要在主库上数据库备份(磁盘读压力增大)。
有问题请关注【运维开发实战】小编会及时回复
mysql
数据库
java

点赞文章给优秀博主打call~
女士高跟皮鞋
精选推荐
广告
参考技术B mysql事务对查询有没有影响?
回答是:一般情况,mysql事务对查询有影响
参考技术C 有新增材料时,删除材料并没有立即执行,导致查询时还是查询到了未删除的数据。

mysql性能管理及架构设计:什么影响了数据库查询速度什么影响了mysql性能(代码片段)

...多少的衡量标准。TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此 查看详情

spring嵌套事务提交时机对其他查询操作的影响分析(代码片段)

背景Spring的@Transactional注解可以轻松实现数据库操作的事务控制,本文介绍上周遇到的一个嵌套事务的问题,探讨嵌套事务的提交时机对后续操作的影响。服务调用链上的事务使用一个调用链上,方法A调用了方法B&... 查看详情

spring嵌套事务提交时机对其他查询操作的影响分析(代码片段)

背景Spring的@Transactional注解可以轻松实现数据库操作的事务控制,本文介绍上周遇到的一个嵌套事务的问题,探讨嵌套事务的提交时机对后续操作的影响。服务调用链上的事务使用一个调用链上,方法A调用了方法B&... 查看详情

MySQL 事务可以在没有 ROLLBACK 查询的情况下回滚吗?

】MySQL事务可以在没有ROLLBACK查询的情况下回滚吗?【英文标题】:CanMySQLtransactionrollbackwithoutROLLBACKquery?【发布时间】:2017-07-0104:11:57【问题描述】:我正在开发一个金融系统,但我遇到了MySQL事务的问题。该系统是一个简单的证... 查看详情

总结mysql调优(代码片段)

一.事务1.事务的特性(1)原子性:一个事务要么全部执行成功,要么全部执行失败(2)一致性:事务执行前后,数据状态保持一致(银行总共50亿元,A给B转10亿。银行总额依然是50亿元)(3)隔离性:一个事务不会读取到另一... 查看详情

mysql事务特点总结

...态。不可重复读和脏读的区别就在于,修改了数据的事务有没有执行commit。没有提交,另一事务数据隔离性出现问题叫脏读;提交了,另一事务数据隔离性出现问题叫不可重复读。解决办法:给每个事务增加客户端快照--可重复... 查看详情

mysql事务并发问题和mvcc机制(代码片段)

文章目录MySQL事务并发问题和MVCC机制事务并发的几种问题1.脏读(读未提交数据)2.不可重复读(并发更新的情况下)3.幻读(并发新增,删除这种导致数据总量发生变化的操作)事务隔离级别获取和设置事务隔离级别的命令MVCC机制写在前... 查看详情

mysql数据导入出错如何全部回滚

...。第二种方式效果更显著,会短暂影响业务连续,回滚所有没有提交的事务。参考技术A#在需要判断之前使用BEGIN;#在逻辑判断里判断#成功使用提交COMMIT;#失败时使用回滚ROLLBACK; 查看详情

idf 对一个术语查询的排名没有影响

】idf对一个术语查询的排名没有影响【英文标题】:idfhasnoeffectonrankingonetermqueries【发布时间】:2016-06-0923:54:35【问题描述】:我正在阅读这个article,它说请注意,IDF依赖于查询词(T)和数据库作为所有的。特别是,它不会因文件... 查看详情

mysql查询的时候怎么解决脏读,幻读问题

...。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。例如,一个编辑人员更改作者提交的文档,但当生产部门将其更改内容合并到该文档的主复本时,发现作者已将未编辑的新... 查看详情

mysql性能调优09_mvcc多版本并发控制机制概述过程详解

...境准备②.MVCC概述①.Mysql在可重复读隔离级别下如何保证事务较高的隔离性,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。②.这个隔离性就是靠MVCC(Multi... 查看详情

12事务

1.事务的概念指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功mysql默认自带事务,但是mysql自带的事务是一条语句独占一个事务我们也可以自己来控制事务:starttransaction; --开启事务,这条语句... 查看详情

mysql索引事务及存储引擎(代码片段)

MySQL索引、事务及存储引擎MySQL索引索引的概念索引的作用创建索引的原则依据索引的分类和创建普通索引(最基本的索引)唯一索引主键索引组合索引全文索引删除索引MySQL事务概念事务的ACID特点事务之间的相互影响MySQ... 查看详情

为啥我的媒体查询对我的 CSS 没有影响?

】为啥我的媒体查询对我的CSS没有影响?【英文标题】:WhydoesmymediaqueryhavenoeffectonmyCSS?为什么我的媒体查询对我的CSS没有影响?【发布时间】:2022-01-1721:15:41【问题描述】:我正在制作一个包含在盒子中的计数器。我正在尝试使... 查看详情

mysql优化之tablemetadatalock出现原因及解决方法

...了大量状态为Waitingfortablemetadatalock的记录然后查看当前的事务状态执行select*frominformation_schema.innodb_trx\G发现了其中一条已经运行了很久的事务,我怀疑跟这个运行很久的而且没有提交的事务有关。在本地mysql开多个终端测试ses... 查看详情

Node.js mysql 事务

...因为新查询必须等到现有查询完成。为了解决这个问题,有没有人尝试将no 查看详情

mysql xa导致的事务一直running问题

...启mysql服务后,问题依然如故.查询innodb_trx表,发现有两个事务处于运行中。SELECT*frominformation_schema.INNODB_TRX;2.方案2--xarollback--不起作用还有资料说,通过xarecover查看当前xa事务,然后回滚或提交。针对上面的xarollback我们也可以尝试... 查看详情

MySQL JDBC closeOnCompletion 对 PreparedStatement 没有影响

】MySQLJDBCcloseOnCompletion对PreparedStatement没有影响【英文标题】:MySQLJDBCcloseOnCompletionhasnoeffectonPreparedStatement【发布时间】:2013-04-1010:20:00【问题描述】:JDBC引入了一个名为closeOnAutoCompletion的方法,它声明当所有依赖的结果集都关... 查看详情