成都哪里可以找到专业的网站源码设计公司?

摘要:网站源码在哪里,logo设计公司成都,网站建设需要编码不,密云城市建设官方网站文章目录 1.事务四大特性2.事务并发问题3.事务隔离级别4.隔离级别查看与设置5.动提交事务5.1 查看自动提交事务5.2 关闭或开启自动提交事务 6.事务执行
网站源码在哪里,logo设计公司成都,网站建设需要编码不,密云城市建设官方网站文章目录 1.事务四大特性2.事务并发问题3.事务隔离级别4.隔离级别查看与设置5.动提交事务5.1 查看自动提交事务5.2 关闭或开启自动提交事务 6.事务执行的基本流程7.设置事务的保存点参考文献 说到事务控制#xff0c;先说一下数据库的事务是什么以及 MySQL 中我们必知的知识点… 文章目录 1.事务四大特性2.事务并发问题3.事务隔离级别4.隔离级别查看与设置5.动提交事务5.1 查看自动提交事务5.2 关闭或开启自动提交事务 6.事务执行的基本流程7.设置事务的保存点参考文献 说到事务控制先说一下数据库的事务是什么以及 MySQL 中我们必知的知识点。 1.事务四大特性 数据库事务(Database Transaction) 是指对数据库的一系列操作组成的逻辑工作单元Unit。 并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性习惯上被称之为 ACID 特性。 1原子性Atomicity 事务作为一个整体被执行包含在其中的对数据库的操作要么全部被执行要么都不执行。 2一致性Consistency 事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束如主键约束、唯一约束和外键约束等。 3隔离性Isolation 多个事务并发执行时一个事务的执行不应影响其他事务的执行。 4持久性Durability 已被提交的事务对数据库的修改应该永久保存在数据库中。 MySQL 中并非所有的数据库存储引擎都支持事务操作比如 MyISAM 就不支持。所以使用事务处理的时候一定要确定所操作的表示是否支持事务处理可以通过查看建表语句来查看有没有指定事务类型的存储引擎。当然事务处理是为了保障表数据原子性、一致性、隔离性、持久性。这些都是要消耗系统资源要谨慎选择。 本文以数据库引擎 InnoDB 为例来演示命令行模式下事务的基本操作。 2.事务并发问题 在数据库操作中为了有效保证并发读取数据的正确性提出了事务隔离级别。 数据库是要被广大客户共享访问的那么在数据库并发操作过程中很可能会出现一些不确定的情况。 1更新丢失Update Lost 更新结果别其他事务覆盖。 两个事务同时读取相同数据并分别修改后一个事务的修改覆盖了另一个事务的修改。这是因为系统没有执行任何锁操作因此并发事务没有被隔离开来。 第一类更新丢失回滚丢失。 比如 A 事务对某一列 1B 事务对某一列 2。B 事务事务提交后A 事务进行了回滚导致 B 事务的更新丢失。 第二类更新丢失逻辑丢失。 比如 A 事务对某一列 1B 事务对某一列 2A B 事务执行完成后正常预期结果应该是某一列的值被 3但是 B 事务的结果覆盖了 A 事务导致结果只被 2A 事务的更新丢失了。 2脏读Dirty Read 读取未提交数据。 A 事务读取 B 事务尚未提交的数据此时如果 B 事务发生错误并执行回滚操作那么 A 事务读取到的数据就是脏数据。 3不可重复读Non-repeatable Read 前后多次读取数据内容不一致。 A 事务在 B 事务开始前读和 B 事务结束后读的数据不一样因为数据被事务 B 给修改了。 4幻读Phantom Read 一个行出现在查询结果集中但不在较早查询的结果集中。 事务 A 在读取某个范围内的记录时事务 B 在该范围内插入了新记录事务 A 再次读取该范围内的记录时会产生幻行。 幻读比不可重复读取更难防范因为锁定第一个查询结果集中的所有行并不能阻止导致幻像出现的更改。 为了解决上面的问题于是有了事务隔离。 3.事务隔离级别 MySQL 提供了多个事务隔离级别每个隔离级别都有不同的特点和能力以解决并发访问数据库时可能出现的不同问题。 以下是 MySQL InnoDB 支持的四个 SQL:1992 标准定义的四个隔离级别及其解决的问题。 读未提交Read Uncommitted 不允许第一类更新丢失允许脏读、不可重复读、幻读和第二类更新丢失。 最低的隔离级别事务可以读取其他事务尚未提交的数据虽然拥有超高的并发处理能力及很低的系统开销但很少用于实际应用因为可能导致数据不一致性。 读已提交Read Committed 不允许第一类更新丢失和脏读。允许不可重复读、第二类更新丢失和幻读。 事务只能读取已经提交的数据避免了脏读问题但可能导致不可重复读和幻读。 这是大多数数据库系统的默认隔离级别但不是 MySQL 默认。 可重复读Repeatable Read 不允许第一类更新丢失、脏读、不可重复读和第二类更新丢失允许幻读。
阅读全文