mysql读书笔记(一)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

mysql在windows上目录结构:

mysql读书笔记(一)_第1张图片

data目录的文件类型:

*.opt:单个数据库的配置文件,内容示例:

default-character-set=latin1
default-collation=latin1_swedish_ci

*.ibd:数据表的数据和索引文件

*.frm:数据表结构描述

查询mysql读取配置文件的读取顺序,使用命令查询 : mysql --help

配置文件中datadir参数配置数据库数据的实际存放目录.

数据库和数据库实例?

       数据库是存放在文件系统上的文件,数据库实例介于操作系统和文件系统之间的一个应用程序。

MySQL组成部分?

  1. 连接池组件

  2. 管理服务和工具组件

  3. SQL接口组件

  4. 查询分析器组件

  5. 优化器组件

  6. 缓冲(Cache)组件

  7. 插件式存储引擎(基于表)

  8. 物理物件

存储引擎:

InnoDB:支持行锁,支持外键,主要应用场景OLTP(在线事务处理),

MyISAM: 支持全文索引,主要应用场景OLAP,它的缓冲池只缓存索引文件,MYD存放数据,MYI存放索引文件

NDB: 集群存储引擎,数据全部存放在内存中,速度快

Memory:原名(Heap),数据存放在内存中,非常适合用于存储临时数据的临时表,默认使用哈希索引,只支持表锁,并发性能较差,且不支持TEXT和BLOB列。如果超出Memory引擎承受范围,那么会自动转换到MyISAM引擎;

Archive:只支持insert,select操作,提供高速的插入和牙刷功能,非常适合数据归档和历史数据存放功能

Maria:MyISAM升级版,支持缓存数据和索引文件,带行锁,提供MVCC功能,支持事务和非事务安全的选项。

什么是MVCC?

大多数的MySQL事务型存储引擎,如InnoDB,Falcon以及PBXT都不使用一种简单的行锁机制。事实上,他们都和另外一种用来增加并发性的被称为“多版本并发控制(MVCC)”的机制来一起使用。MVCC不只使用在MySQL中,Oracle、PostgreSQL,以及其他一些数据库系统也同样使用它。

MVCC过程如下,参考http://www.cnblogs.com/gaojian/p/3295951.html

mysql读书笔记(一)_第2张图片

mysql读书笔记(一)_第3张图片

mysql读书笔记(一)_第4张图片

mysql读书笔记(一)_第5张图片

mysql读书笔记(一)_第6张图片

mysql读书笔记(一)_第7张图片

 

 

 

转载于:https://my.oschina.net/copy202/blog/472891

你可能感兴趣的:(mysql读书笔记(一))