网站地图    收藏   

主页 > 后端 > mysql数据库 >

mysql存储引擎 - mysql数据库栏目 - 自学php

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] 08-mysql存储引擎----存储引擎简介(1)、innoDB 引擎 innoDB是mysql的一种存储引擎,innodb给mysql的表提供了事务日志,回滚、崩溃修复能力和...

08-mysql存储引擎


----存储引擎简介

(1)、innoDB 引擎

innoDB是mysql的一种存储引擎,innodb给mysql的表提供了事务日志,回滚、崩溃修复能力和多版本并发控制的事务安全。

Mysql从3.23.34a开始包含innoDB存储引擎.

innoDB是第一个提供外键约束的表引擎,而且innoDB拥有对事务处理的能力。也是其它引擎无法与之抗衡的。

innodb支持自动增长列使用auto_increment,自动增长列不值不能为空

innodb 存储引擎中支持外键Z(foreign key),外键所在的表为子表,外键所依赖的表为父母,父表中的被子表外检关联的字

段必须是主键,当删除、更新父表的某条信息时,字表也必须有相应的改变,

innodb存储引擎中,创建表的表结构存储在.frm文件中,数据和索引存储在innodb_data_home_dir 和innodb_data_file_path定义的表空间.

数据文件:*.myd
索引文件:*.myi
表定义文件:*.frm

Inoodb存储引擎的优缺点:

优势:在于提供了良好的事务管理、崩溃、修复能力和并发控制,

缺点:是其读写效率稍差,占用的数据空间相对比较大. 

(2)、MyISAM引擎

MyISAM存储表分为3个文件,文件与表名相同,扩展包括frm,MYD和MYI,

Frm 为扩展名的文件存储表的结构

MYD 为扩展名的文件存储数据

MYI 为扩展名的文件存储索引

优点:占用空间小,处理速度快

缺点: 不支持事务日志的完整性和并发性 

(3)、MEMORY 引擎

Mysql中的特殊引擎,所有的数据全部存放于内存当中,在企业生产环境当中。几乎

是用不到。因为数据存储在内存,如果内存出现异常。将影响数据的完整性。

优点:存储速度快

缺点:缺乏稳定性和完整性

----存储引擎查看

存储引擎是Mysql的特点,Mysql可以选择多种存储引擎及不同的存储方式,是否进行事物处理等。

(1)、查询Mysql支持的引擎

Mysql->show engines;

Mysql->show engines\G; +G和不加G两种不同的显示方式。 

(2)、查询Mysql支持引擎的信息

Mysql->show variables like ‘have%’

第一列:Variable_name 表示存储引擎的名称,

第二列:Value 表示Mysql的支持情况,YES表示支持,NO表示不支持

DISABLED表示支持但是有开启。

(3)、查询Mysql默认存储引擎

Mysql-> show variables like 'storage_engine';

如果想修改存储引擎,可以在 my.ini中进行修改

Default-storage-engine=引擎类型

----如何选择存储引擎

在企业生产环境中,选择一个款合适的存储引擎是一个很复杂的问题。每一种存储引擎都有各自的优势,不能笼统的说,谁比谁好。
通常用的比较多的是innodb存储引擎

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论