SQL编程
OLTP与OLAP的比较
OLTP(面向交易的处理系统):
- 实时性要求高
- 查询的数据量不是很大
- 交易一般是确定的,所以OLTP是对确定性数据进行存取
- 并发性要求高,而且严格要求事务的完整性、安全性
OLAP(数据仓库系统的主要应用),典型应用就是复杂动态报表系统:
- 实时性要求不是很高
- 数据量大。因为OLAP支持的是动态查询,用户要通过对很多数据的统计才能得到想要知道的信息
- 重点在于决策支持,所以查询一般是动态的,也就是说允许用户随时提出查询的要求
数据库引擎
InnoDB存储引擎:
支持事务,其设计目标主要是面向联机事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支持类似Oracle的非锁定读,即默认读取操作不会产生锁。从MySQL5.5.8开始是默认的存储引擎。
InnoDB通过使用多版本的并发控制(MVCC)来获得高并发性,并且实现了SQL标准的4种隔离级别,默认为REPREATABLE级别