《mysql技术内幕》---第一章总结笔记

1、mysql启动时会读取my.cnf文件,使用“mysql --help | grep my.cnf”可以查看读取的顺序。如果多个文件有同一个参数,则以最后读到的文件的参数为准。如果找不到参数文件,则会默认使用编译时的默认参数,并不会报错。

2、在my.cnf中的datadir指明了数据库所在的路径。

3、mysql的体系结构:连接池组件,管理服务和工具组件,sql接口组件,查询分析器组件,优化器组件,缓冲组件,插件式存储引擎,物理文件。

注意:存储引擎是基于表的。

4、InnoDb存储引擎,支持事务,主要面向在线事务处理。支持行锁,支持外键,支持非锁定读(默认情况下读取操作不会产生锁)。采用聚集方式,每张表的存储都按照主键的顺序存放,如未显式定义主键,默认为每一行生成一个6字节的ROWID,并以此为主键。

5、MyISAM存储引擎,不支持事务,支持表锁和全文检索。MyISAM存储引擎表由MYD和MYI组成,前者用于存放数据文件,后者用来存放索引文件。可以使用myisampack压缩数据文件,其使用huffman编码静态算法压缩数据,其压缩后的表是只读的。MyISAM默认支持256T的单表数据。

6、NDB存储引擎,数据全部放在内存中,集群。

7、Memory存储引擎,数据存放在内存中,默认使用哈希索引,只支持表锁,并发性能差,不支持text和blob列,存储varchar时按照char的方式进行。

8、Archive存储引擎,只提供insert和select操作,支持索引,高压缩比(1:10),行锁。

你可能感兴趣的:(mysql)