第九章:第12节 MySQL基础篇——表的存储引擎

更新于:2017-07-25 10:27:52


我们开始看第20行,也就是创建表的末尾,可以为整张表定义哪些属性。


1.png


分为这四种:

1、auto_increment = 自增长字段的起始值 


//自增长类型值的初值,默认是1。创建新表时不用设定这个属性。


2、default charset=编码名


为表设定编码。


字符编码设定的范围及继承关系:

系统级设定:安装时确定了。

库级设定:建库时设定;

表级设定:就是这里的charset = 字符编码名称

字段级设定:作为字段属性出现。

他们都只对“字符类型”的字段有效。每一级如果没有设定,就会“继承使用”其上一级的设定。


3、comment='表的注释说明文字'


4、engine = “表的存储引擎名”


表的存储引擎又是MySQL的一大知识点:


存储引擎:


什么是存储引擎?


存储引擎也叫“表类型”,是指一个表中的数据以何种方式存放在文件或内存中。不同的存储引擎(表类型)提供不同的性能特性和可用功能。没有一种各方面都又具有最佳性能又具有各种功能的存储引擎。我们要做的是要根据数据的具体使用情形(需求)来选择合适的存储引擎,有的要读取速度快,有的要写入速度快,有的要具有高安全可靠性,有的要海量存储,等等。


常用的存储引擎是innoDB(默认)和Myisam。各种存储引擎性能与功能对比如下(了解):


psb (1).jpg


关于MySQL表的存储引擎知识在面试的时候特容易被问到。面试官会问你“myisam和innodb的区别?”myisam和innodb是MySQL最常用的两种存储引擎,基本上也只会用到这两种。尤其innodb用的最多,它也是表默认的存储引擎。


从上图中可以明显看到myisam和innodb的区别,现在很多朋友还不能看明白,这需要我们一步一步去学习才能真正理解。我们先做这样的理解:


myisam引擎“读”的性能高,主要用于以读为目的、不频繁修改的表,比如文章表、日志表等。


innodb引擎支持事务,这个事务在开发功能时保证数据的安全很重要,它主要用于关键应用表,参与业务逻辑的表。


存储引擎与索引我们会在第十章做更详细的研究说明。