博客列表 >MYSQL数据库(一)

MYSQL数据库(一)

星辰幽梦
星辰幽梦原创
2020年04月14日 21:22:40642浏览

MYSQL数据库(一)

基础知识—-Mysql中myisam和innodb

myisam

1.MyISAM不支持事务、不支持外键


2.每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。 .frm文件存储表定义(即表字段)。数据文件的扩展名为.MYD(MYD)。索引文件的扩展名是.MYI(MYIndex)。


3.MyISAM:可被压缩,存储空间较小。支持三种不同的存储格式:静态表(默认,但是注意数据末尾不能有空格,会被去掉)、动态表、压缩表。


4.MyISAM:强调的是性能,每次查询具有原子性,其执行速度比Innodb类型更快


5.MyISAM: 如果执行大量的select, MyISAM是更好的选择。(因为没有支持行级锁),在增删的时候需要锁定整个表格,效率会低一些。相关的是innoDB支持行级锁,删除插入的时候只需要锁定该行就行,效率较高。

innodb

1.innodb表引擎分为三个:.frm表字段(表定义)、.idb表索引+部分表数据、.ibdata1所有数据库中的数据


2.InnoDB:提供事务支持,外部键等高级数据库功能。具有事务(commit)、回滚(rollback)和崩溃修复能力(crach recovery capabilities)的事务安全(transaction-safe ACID compliant)型表。


3.InnoDB:需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。


如何选择:

1.是否要支持事务,如果要请选择innodb,如果不需要可以考虑MyISAM;


2.如果表中绝大多数都只是读查询,可以考虑MyISAM,如果既有读也有写,请使用InnoDB。


3.系统奔溃后,MyISAM恢复起来更困难,能否接受


4.MySQL5.5版本开始Innodb已经成为Mysql的默认引擎(之前是MyISAM),说明其优势是有目共睹的,如果你不知道用什么,那就用InnoDB,至少不会差

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议