mysql 的储存引擎
2018-06-18 00:59:01来源:未知 阅读 ()
1. 储存引擎的概念
储存引擎(储存引擎也可以成为表类型)其实就是如何储存数据,如何为储存的数据建立索引和如何更新,查询数据等技术的实现方法。mysql中的数据用各种不同的技术储存在文件(或内存)中。这些技术中的每一种技术都使用不同的储存机制,索引技巧,锁定水平并且最终提供广泛的,不同的功能和能力,这些不同的技术及配套的相关功能在myql中被称为储存引擎。可以选择适用于服务器,数据库,表格的储存引擎。
2 .Mysql 中支持的储存引擎
查询Mysql支持的储存引擎
mysql>show engines ;
show engines 语句可以用“;”,也可以用“\G”,j结尾 。“\G”可以让结果显示得更美观,
从图中可以看出mysql支持的储存引擎有MyISAM,CSV,InnoDB,BLACKHOLE,MEMORY,PERFORMANCE_SCHEMA,ARCHIVE,MRG_MYISAM。
并可以看出 InnoDB 为默认储存引擎,并且 InnoDB支持 事务,行级别锁,外键。XA(分布式事务),Savepoints(保存点)
查看默认的储存引擎
mysql>show variables like "storage_engine%" ;
可以看出 InnoDB 为默认储存引擎
Mysql常用的储存引擎
1. InnoDB储存引擎 (支持事务,行级锁)
innodb 储存引擎中支持自动增长列 AUTO_INCREMENT 。自动增长列的值不能为空,且值必须唯一。 Mysql中规定自动增长列必须为主键,在插入值时,如果自动增长列不输入值,则插入的值为自动增长后的值,如果输入的值为0或空(NULL),则插入的值也为自动增长后的值,如果插入某个确定的值,且该值在前面没有出现过,则可以直接插入。
innodb 储存引擎中支持外键(FOREIGN KEY),外键所在的表为子表,外键所依赖的表为父表。父表中被子表外键关联的字段必须为主键,当删除,更新父表的某条信息时,子表也必须有相应的改变。
innodb储存引擎是唯一支持事务的标准mysql储存引擎,
innodb 储存引擎中,创建的表的表结构储存在.frm文件中,数据和索引储存在innodb_data_home_dir 和innodb_data_file_path 表空间中
innodb 储存引擎的优势在于提供良好的事务管理,崩溃修复能力和并发控制,缺点是其读写效率稍差,占用数据空间相对比较大
Innodb 储存引擎的表在文件系统里储存成2个文件(每表一个表空间文件)
. frm 储存表结构
.ibd 表空间文件(储存数据和索引)
2. MyISAM 储存引擎(不支持事务,表锁)
MyISAM 储存引擎的表储存成3个文件,文件的名称与表名相同,扩展名包括frm,MYD,MYI。
.frm: 储存表的结构
.MYD: 储存数据,MYDATA的缩写
.MYI: 储存索引,MYIndex的缩写
基于MyISAM储存引擎的表支持3种不同的储存格式,包括静态型,动态型,压缩型
MyIsam静态
如果所有表列的大小都是静态的(既不使用xBLOB,xTEXT,VARCHAR数据类型)就会自动使用静态MYISAM
持续跟新中。。。。。。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Mysql索引总结
下一篇:mysql根据时间查询日期的优化
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash