说一下php存储引擎,用Mysql时不知用何种存储引擎,那就看这个帖

摘要:Mysql是著名的关系型数据库。其下面的关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供

Mysql是著名的关系型数据库。其下面的关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。

MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB。现在就来分析下MySQL最常用的两种存储引擎 innodb和Myisam的差别,以便大家能够在使用的时候清楚知道应使用哪种!

1. 事务处理(一个事务是一个连续的一组数据库操作):

innodb 支持事务功能,myisam 不支持。

Myisam 的执行速度更快,性能更好。

2. 增删改查:

如果执行大量的SELECT,MyISAM是更好的选择,MyISAM会比Innodb 的查询速度快。

InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。

3. 锁机制不同:

InnoDB 为行级锁,myisam 为表级锁。

注意:当数据库无法确定,所找的行时,也会变为锁定整个表。

4. 查询表的行数不同:

MyISAM:SELECT count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含   where条件时,两种表的操作是一样的

InnoDB : InnoDB 中不保存表的具体行数,也就是说,执行SELECT count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行

5. 物理结构不同

MyISAM :每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。

文件存储表定义.frm

数据文件的扩展名为.MYD (MYData)。

索引文件的扩展名是.MYI (MYIndex)

InnoDB:基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB。

6、使用场景不同

MyISAM是默认使用的。但由于MyISAM不支持外键的约束,而且MyISAM会在添加或者更新数据的时候将整个表锁住,所以使用MyISAM更多的是你在建立一个非常简单的数据库或者只是实验性的!

如果要保证数据完整,还想避免以后扩展性能上不会有很大的问题,那就用InnoDB!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值