4、数据库引擎:InnoDB和MyISAM

1、两者之间的区别:

       

2、MyISAM

  (1)数据库存储文件

     数据库文件一般在数据库安装目录的data文件夹里,前面说过引擎是针对数据库表而言的,如果一张表是MyISAM引擎的话,那么这个表有3个文件,               后缀名分别是:(1).frm(存储表结构)。(2).MYI(index,存储索引)。(3).MYD(data,存储数据)。

        

 

 

 

   (2)底层实现结构:

        

 

 

3、InnoDB

  表数据文件本身就是按B+Tree组织的一个索引结构文件,聚集索引-叶节点包含了完整的数据记录。

  (1)数据库存储文件

    InnoDB数据存储的话,只有2个文件(1).frm(存储表结构)。(2).ibd(存储索引和数据)

 

         

 

4、聚集索引

  索引和数据分开存储的叫非聚集索引,存在一起的叫聚集索引。例如InnoDB为聚集索引,MyISAM为非聚集索引。

5、为什么InnoDB表必须有主键,并且推荐使用整形的自增主键

  有主键:MySQL设计的时候,它的数据就是按照B+Tree去组织的,所以建表时必须建立主键,如果用户建表时没有设置主机,MySQL会自动维护一列主键。

  使用整形:当我们要从数据库中查找一个数据时,如果数据量大的话,要不断地去比较,如果主键是字符串的话,效率没有整形高。

  自增:防止新插入索引时,B+Tree进行分裂和自动平衡运算。

 

posted @ 2021-02-15 15:11  zwj鹿港小镇  阅读(85)  评论(0)    收藏  举报