MySQL数据库
一、数据库基础概念
1. 数据库
数据库(database) 是保存有组织的数据的容器(通常是一个文件或一组文件)。
理解数据库的一种最简单的办法是将其想象为一个文件柜。
此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。
2. 数据库软件
数据库软件应称为DBMS(数据库管理系统),如 MySQL。数据库是通过DBMS创建和操纵的容器。
二、MySQL体系结构
MySQL体系结构如下图所示:
由上图可知,MySQL由以下几部分组成:
- 连接池组件
- 管理服务和工具组件
- SQL接口组件
- 查询分析器组件
- 优化器组件
- 缓冲(Cache)组件
- 插件式存储引擎
- 物理文件
三、MySQL存储引擎
对于MySQL存储引擎:
- 存储引擎是MySQL区别于其他数据库的自一个最重要的特性。
- MySQL数据库的核心在于存储引擎。每个存储引擎有各自的特点,用户(DBA)可以根据具体的应用建立不同的存储引擎表。
1. InnoDB存储引擎
- InnoDB存储引擎支持事务,主要面向在线事务处理(OLTP)的应用
- 行锁设计
- 支持全文搜索(MySQL5.6以上)
- 支持外键
- 支持非锁定读(即默认读取操作不会产生锁)
- InnoDB存储引擎是MySQL的默认存储引擎(MySQL 5.5.8以上)。
2. MyISAM存储引擎
- 不支持事务
- 表锁设计
- 支持全文搜索
- 不支持外键