ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL知识点整理

2021-08-10 11:32:59  阅读:152  来源: 互联网

标签:知识点 数据文件 索引 InnoDB MyISAM MySQL 整理 主键


一、存储引擎

MySQL常见的两种存储引擎:MyISAM与InnoDB

区别点:

1.MyISAM是MySQL的默认数据库引擎(5.5版之前),5.5版本后默认的存储引擎为InnoDB。

2.InnoDB支持事务,MyISAM不支持,InnoDB每一条SQL语言都默认封装成事务,自动提交,会影响速度,所以最好把多条SQL语言放在begin和commit之间组成一个事务。

3.InnoDB支持外键,MyISAM不支持,包含外键的InnoDB表转为MYISAM会失败。

4.MyISAM是非聚集索引,使用B+Tree作为索引结构,索引和数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。

文件组成:*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引

InnoDB是聚集索引,使用B+Tree作为索引结构,索引文件和数据文件是在一起的。必须要有主键(如果设置了主键,那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则会选择第一个不包含有NULL值的唯一索引作为主键索引,如果也没有,则会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增)),通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。

文件组成:*.frm是描述了表的结构,*.ibd:索引文件和数据文件

标签:知识点,数据文件,索引,InnoDB,MyISAM,MySQL,整理,主键
来源: https://www.cnblogs.com/shiyongking/p/15122900.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有