InnoDB和MYISAM区别
来源:互联网 发布:淘宝店网址在哪里 编辑:程序博客网 时间:2024/06/05 05:04
今天复习了Mysql数据库的引擎
那么什么是数据库引擎呢?
首先我们要先知道 数据库和数据库实例的概念区别: 数据库就是文件的集合。 数据库实例就是应用程序(进程/线程),位于用户和操作系统之间的数据库管理软件,是真正操作数据库文件的。 故Mysql不能简单的解释成数据库。
下面就来说说常见的innoDB和MYISAM的区别
**支持事务:** innoDB支持事务,并且实现了标准的四种隔离级别 MYISAM不支持事务
**锁及外键:** innoDB支持行级锁,支持外键约束(行级锁不是绝对的) MYISAM支持表级锁,不支持外键
**保存行数:** innoDB不保存行数,count(*)时需要扫描全表 MYISAM保存行数,直接读取即可
**缓冲池:** innoDB会在内存建立缓冲池,存储缓冲数据和索引 MYISAM无
**索引限制:** innoDB不支持全文索引 MYISAM支持全文索引,要求主索引唯一
**索引结构:** innoDB索引结构时B+树,数据域存储实际数据(聚集索引),必须有主键,主键非递增/减时效率很低 MYISAM索引结构B+树,数据域存储数据地址(非聚集索引),不要求主键
**辅助索引:** innoDB辅助索引先根据辅助索引找到主键,再根据主键索引找到实际数据,所以建议主键不要过长 MYISAM主索引key唯一,辅助索引可以重复
适用情景: innoDB使用高并发,大容量,插入删除等操作多时 MYISAM使用与查询操作多时
还需要注意innoDB的几个锁:
行级锁: 共享锁(读锁) 排他锁(写锁) 意向锁:(表) 意向共享锁(数据行加共享锁前必须先取得该表的IS锁 ) 意向排他锁(表中几行排他锁)
事务: redo恢复已提交事务,每次事务提交将日志持久化 undo回滚操作,每次事务提交将数据持久化,逻辑的恢复数据修改前的状态,不是物理恢复。
阅读全文
0 0
- InnoDB和MyISAM区别
- InnoDB和MyISAM区别
- InnoDB和MyISAM区别
- MyISAM 和 InnoDB 区别
- InnoDB和MyISAM区别
- InnoDB和MyISAM区别
- InnoDB和MyISAM区别
- InnoDB和MyISAM区别
- MyISAM 和 InnoDB 区别
- MyISAM和innodb区别
- MyISAM和InnoDB区别
- MyISAM和InnoDB区别
- MyISAM和InnoDB区别
- InnoDB和MyISAM区别
- InnoDB和MYISAM区别
- InnoDB和MyISAM的区别
- InnoDB和MyISAM区别总结
- InnoDB和MyISAM的区别
- 数据结构-栈
- Babel安装
- EA&UML日拱一卒-活动图::14.2.3.4 States(状态)(2)
- 第二章 Getting to Grips with ZooKeeper(开始掌握Zookeeper)【上】
- 在centOs系统下安装个配置git
- InnoDB和MYISAM区别
- java集合之 Map
- ZigZag Conversion
- 【前端问题分析】从输入 URL 到浏览器接收的过程中发生了什么事情?
- 实践模板
- 1114. Family Property (25)
- mkboot 提示mkbootimg和mkbootfs找不到的问题
- jQuery Ajax 全解析
- 【oracle】分组统计查询