DML : DELETE INSERT INTO UPDATE 与查询操作有关

INSERT INTO tb_name (col1,col2,...) VALUES (val1,val2,...)[,(val1,val2,...)] 字符型 :单引号 数值型 :不需要引号 日期时间型 空值 :NULL REPLACE INTO 替换 用法相同

DELETE : DELETE FROM tb_name WHERE condition; truncate tb_name 清空表并重置AUTOINCREMEN计数器;

UPDATE tb_name SET col1=...,col2=... WHERE

MYSQL 机制 : 连接管理器: 接受请求 创建线程 认证用户 建立安全连接

并发控制 : mbox : MDA 多版本并发控制 :MVCC 操作某个时间的快照

锁 : 读锁 :共享锁 写锁 :独占锁 LOCK TABLES tb_name lock_type(read|write); UNLOCK TABLES 解除所有表的锁

锁粒度:从大到小 ,MySQL服务器仅支持表级锁,行锁需要由存储引擎完成 表锁 页锁 行锁

事务 : RDBMS :ACID(原子性、一致性、隔离性、持久性) 事务日志 : 重做日志 redo log 撤消日志 undo log

隔离级别 : READ-UNCOMMITRED 读未提交 READ-COMMITTED 读提交 REPATABLE READ 可重读 SERIABLEZABLE 可串行

多事务同时执行 :彼此之间互不影响的方式进行并行; 事务之间交互 通过数据集

ACID Automicity 原子性,事务所引起的数据库操作,要么都完成,要么都不执行; Consistency 一致性,执行前后数据库整体状态没有改变(隔离) Isolation 隔离性 事务调度,事务之间影响最小 MVCC多版本并发控制 Durability 持久性,一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性; 1、事务提交之前就已经写出数据至持久性存储; 2、结合事务日志完成;
事务日志产生顺序IO 数据文件产生随机IO

事务的状态 : 活动的 :active 部分提交的 :最后一条语句执行后 失败的 中止的 提交的 状态转换过程 :

事务 :允许并发执行 1、提高吞吐量和资源利用率 2、减少等待时间 事务调度 : 可恢复调度 : 无级联调度 :

SQL ,ODBC

START TANSACTION : 启动 COMMIT :提交 ROLLBACK :回滚

并发控制依赖的技术手段 : 锁 时间戳 多版本和快照隔离

锁饿死 死锁 如果没有明确启动事务 : autocommit :能实现自动提交,每一个操作都直接提交; 建议,明确使用事务,并且关闭自动提交 保存点 :SAVEPOINT SID 回滚至保存点 :ROLLBACK TO SID