简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 ?
2024-10-19 13:31:36
MyISAM:
第 134 页 共 485 页不支持事务,但是每次查询都是原子的;
支持表级锁,即每次操作是对整个表加锁;
存储表的总行数;
一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件;
采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引
基本一致,但是辅索引不用保证唯一性。
InnoDb:
支持 ACID 的事务,支持事务的四种隔离级别;
支持行级锁及外键约束:因此可以支持写并发;
不存储总行数:
一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,
一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受
操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制;
主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存
储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅
索引;最好使用自增主键,防止插入数据时,为维持 B+树结构,文件的大调整。
最新文章
- Summary of Critical and Exploitable iOS Vulnerabilities in 2016
- 以实际的WebGIS例子探讨Nginx的简单配置
- javascript语句——表达式语句、块语句、空语句和声明语句
- HTML 样式表
- 【EM算法】EM(转)
- 跟我一起学WCF(4)——第一个WCF程序
- C#文件和文件夹输入输出流代码
- windows下如何安装jira
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- [topcoder]BoxesDiv2
- 判断一个Bitmap图像是否是.9图
- 细说UI线程和Windows消息队列
- FOJ 1591 —— Coral的烦恼
- Linq to List
- Tabhost中Activity绑定Service
- 【BZOJ4552】排序(线段树,二分答案)
- Java CAS同步机制 原理详解(为什么并发环境下的COUNT自增操作不安全): Atomic原子类底层用的不是传统意义的锁机制,而是无锁化的CAS机制,通过CAS机制保证多线程修改一个数值的安全性。
- git中的忽略配置文件中没有忽略该文件,却提交不到服务器上。
- Confluence 6 附件是如何被索引的
- C++设计模式——观察者模式(转)