MySQL笔记(7)---事务】的更多相关文章

1.前言 前面具体讲了MySQL中的锁实现的方式,解释了是如何保证数据在并发情况下的可靠性,并提到了事务REPETABLE READ和READ COMMITTED,解释了一下这两种事务的不同.本章讲具体就事务的实现过程进行记录,扫除这块让人疑惑的知识点. 事务是数据库区别于文件系统的一个重要特性之一.文件系统中,如果写文件时系统崩溃了,可能文件就被损坏了.虽然有机制将一个文件回退到某个时间点,但对于文件同步问题就无能为力了.事务会把数据从一种一致性状态转换成另一种一致性状态.数据库提交时,要不都…
原文:MySQL中Procedure事务编写基础笔记 目录: 一.PROCEDURE: 二.CREATE PROCEDURE基本语法: 三.PROCEDURE小进阶   3.1.基本的DECLARE语句;   3.2.声明HANDLER句柄;   3.3.声明CURSOR游标;   3.4.循环语句; 四.顺带提一下触发器TRIGGER 一.PROCEDURE: PROCEDURE,事务,一个存储过程,实际上就是在服务器端直接在数据库中编写一段代码作运算,在服务器端进行高效的运算,运算结果直接返…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 3) --事务隔离,为什么你改了我还看不见? 简单来说,事务就是要保证一组数据操作,要么全部成功,要么全部失败.在MySQL中,事务支持是在引擎层实现的.但并不是所有的引擎都支持事务,这也是MyISAM被InnoDB取代的重要原因之一. 本篇内容均是在InnoDB下讨论. 提到事务,总免不了ACID(Atomicity,Consistency,Isolation,Durability),(原子性,一致性,隔离性,持久性),本篇主要讨论的是…
MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理解做的笔记,内容和书本并不一致,不过书本实验都经过自己验证,基于MySQL5.7版本.做笔记的目的是方便自己复习,同时分享出来或许对其他人或许有点帮助 1.事务概述 事务是数据库区别于文件系统的重要特性之一,提到事务肯定会想到事务的4个特性ACID,要保证业务的正常使用,必须保证ACID,ACID表示原子性(…
1.2 并发控制 1.2.1 读写锁 在处理并发读或写时,通过实现一个由两种类型的锁组成的锁系统来解决问题.这两种类型的锁通常被称为 共享锁(shared lock) 和 排它锁(exclusive lock),也叫读锁(read lock)和写锁(write lock). 读锁是共享的,或者说是不互相阻塞的.多个客户端可以在同一时刻读取同一个资源,而互不干扰.写锁则是排他的,也就是说一个写锁会阻塞其他写锁和读锁. 1.2.2 锁粒度 为了提高共享资源的并发性,尽量只锁定需要修改的部分数据,而不…
一.背景 前面有说到InnoDB是事务型引擎,那什么是事务?事务的特性是什么?它所对应的隔离级别是哪些?是怎么实现的?下面来详细讨论下. 二.事务的理解 事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组语句.如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行.也就是说,事务内的语句,要么全部执行成功,要么全部执行失败. 可以用银行转账的例子来解释事务的必要性.如果一个银行的数据库有两张表,支票…
数据库事务的隔离级别 对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题:脏读: 对于两个事务 T1, T2, T1 读取了已经被 T2 更新但还没有被提交的字段. 之后, 若 T2 回滚, T1读取的内容就是临时且无效的.不可重复读: 对于两个事务 T1, T2, T1 读取了一个字段, 然后 T2 更新了该字段. 之后, T1再次读取同一个字段, 值就不同了.幻读: 对于两个事务 T1, T2, T1 从一个表中读取了一个字段,…
 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块: SELECT <字段名表> FROM <表或视图名> WHERE <查询条件> 具体参看:[MySQL笔记]数据库的查询   2 .数据操纵语言DML INSERT - insert data into a table(插入) UPDATE -…
Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup loop) 2.3. 刷新循环(flush loop) 2.4. 暂停循环(suspend loop) 3. InnoDB关键特性 3.1. 插入缓冲(Insert Buffer) 3.2. 两次写(Double Write) 3.3. 自适应哈希索引(Adaptive Hash Index),默认…
深入浅出mysql笔记---0.序 一.总结 一句话总结: 心得:买书之前建议先找找电子书,纸质书太难带了 1.开源作用? 开源对mysql的发展至关重要 2.mysql在2002年就全面支持了事务,2005年mysql5.0就发布了? 时间积累 3.开源数据库中标准以及功能有别的数据库做的好的,比如PostgreSQL,但是为啥mysql独占鳌头? mysql性能好啊:功能多,标准多可能性能就不好了 4.mysql在性能和标准中是如何取舍的? 性能:web应用最需要的也就是性能 5.商业数据库…