博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL存储引擎
阅读量:5133 次
发布时间:2019-06-13

本文共 1969 字,大约阅读时间需要 6 分钟。

一、InnoDB:     处理大量的短期事务;     数据存储于"表空间(table space)"中;         1、所有InnoDB表的数据和索引放置于同一个表空间中;             表空间文件:datadir定义的目录下                 数据文件:ibddata1,ibddata2,...         2、每个表单独使用一个表空间,存储表的数据和索引;             innodb_file_per_table=ON             数据文件(存储数据和索引):tbl_name.ibd             表格式定义:tbl_name.frm     基于MVCC(Multi-Version Concurrency Control )来支持高并发,支持所有的四个事务隔离级别,默认级别为REPEATABLE READ;通过间隙锁防止幻读的出现;     使用聚集索引     支持"自适应hash索引"     行级锁         数据存储:表空间         并发:MVCC,间隙锁         索引:聚集索引、辅助索引         性能:预读操作、自适应hash、插入缓存区         备份:支持热备(xtrabackup)     MariaDB中虽然也叫InnoDB,但使用的是XtraDB(percona公司提供) 二、MyISAM:     支持全文索引(FULLTEXT index)、压缩、空间函数(GIS);但不支持事务,且为表级锁;     崩溃后无法安全恢复     使用场景:只读(或者写较少)、表较小(可以接受长时间进行修复操作)         Aria:crash-safe     文件:         tbl_name.frm:表格式定义         tbl_name.MYD:数据文件         tbl_name.MYI:索引文件     特性:         加锁和并发:表级锁         修复:手工或自动修复、但可能丢失数据         索引:非聚集索引         延迟更新索引键         压缩表 行格式:dynamic,fixed,compressed,compact,redundent 三、其他的存储引擎:     CSV:将普通CSV(字段通过逗号分隔)作为MySQL表使用     MRG_MYISAM:将多个MyISAM表合并成为一个虚拟表     BLACKHOLE:类似于/dev/null,不真正存储任何数据     MEMORY:所有数据都保存于内存,内存表,唯一支持hash索引的表;表级锁         临时表     PERFORMANCE_SCHEMA:伪存储引擎     ARCHIVE:仅支持SELECT和INSERT操作,支持行级锁和专用缓冲区,不支持事务     FEDERATED:用于访问其他远程MySQL服务器一个代理,它通过创建一个到远程MySQL服务器的客户端连接,并将查询传输到远程服务器执行                 而后完成数据存储,在MariaDB上的实现叫做FederatedX     MariaDB支持的其他存储引擎:         OQGraph、SphinxSE、TokuDB、Cassandra、CONNECT、SEQUENCE 四、编译安装MySQL: 五、并发控制:锁     锁策略:         在锁粒度及数据安全性寻求的平衡机制;         每种存储引擎都可以自行实现其锁策略和锁粒度;         MySQL在服务器级也实现了锁,表级锁;用户可显示请求;         (1) LOCK TABLES                 tbl_name [[AS] alias] lock_type                 [, tbl_name [[AS] alias] lock_type] ...             lock_type:                 READ [LOCAL]               | [LOW_PRIORITY] WRITE             UNLOCK TABLES         (2) FLUSH TABLES tb_name[,...] [WITH READ LOCK]         (3) SELECT clase [FOR UPDATE] [WITH READ LOCK]

转载于:https://www.cnblogs.com/fansik/p/7762947.html

你可能感兴趣的文章
Linux 查看系统所有用户
查看>>
实验三——for 语句及分支结构else-if
查看>>
国家哲学社会科学文献中心
查看>>
把一些表单属性封装一个JSON
查看>>
module
查看>>
Linux平台下卸载MySQL的方法
查看>>
ubuntu下安装Docker
查看>>
CF1152 F. Neko Rules the Catniverse (dp)
查看>>
全国行政区域数据库
查看>>
8_19 比赛总结 [暑假集训]
查看>>
GET与POST的区别
查看>>
花容月貌
查看>>
Spring Roo 之 Mysql 连接
查看>>
Spring_Mybatis整合实现CRUD操作
查看>>
Android学习第六天---seekbar
查看>>
C++ lambda
查看>>
div中显示页面
查看>>
C向C++改造
查看>>
[洛谷P5367]【模板】康托展开
查看>>
Redis部分数据结构方法小结
查看>>