MySQL MyISAM/InnoDB
来源:互联网 发布:淘宝店铺电脑装修教程 编辑:程序博客网 时间:2024/06/06 02:40
MySQL常见的表类型(即存储引擎)
show engines包 括:MyISAM/Innodb/Memory/Merge/NDB
其中,MyISAM和Innodb是最常用的两个表类型,各有优势,我们可以根据需求情况选择适合自己的表类型。
[MyISAM]
1)每个数据库存储包括3个文件:.frm(表定义)、MYD(数据文件)、MYI(索引文件)
2)数据文件或索引文件可以指向多个磁盘
3)Linux的默认引擎,win默认InnoDB
4)面向非事务类型,避免事务型额外的开销
5)适用于select、insert密集的表
6)MyISAM默认锁的调度机制是写优先,可以通过LOW_PRIORITY_UPDATES设置
7)MyISAM类型的数据文件可以在不同操作系统中COPY,这点很重要,布署的时候方便点。
[Innodb]
1)用于事务应用程序
2)适用于update、delete密集的操作。
执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。
注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
3)引入行级锁和外键的约束
4)InnoDB不支持FULLTEXT类型的索引
页级:引擎 BDB。
表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行
行级:引擎 INNODB , 单独的一行记录加锁
表级,直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许
行级,,仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。
页级,表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。
- mysql myisam innodb 区别
- MySQL: InnoDB 还是 MyISAM?
- Mysql MyISAM InnoDB 优化
- mysql myisam innodb 区别
- MySQL - InnoDB vs MyISAM
- mysql MyISAM InnoDB 区别
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL:InnoDB和MyISAM
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- MySQL: InnoDB 还是 MyISAM?
- 短信验证码自动填写
- 第二周项目3-程序的多文件组织
- Android 转场动画 windowAnimation和ActivityAnimation的区别
- OC 内存管理
- 连连看第一更
- MySQL MyISAM/InnoDB
- Andrew Ng机器学习课程9-补充
- Compile、Make和Build的区别
- 体验复杂度
- iOS 生成静态库.a文件
- PHP数据库连接mysql与mysqli的区别与用法
- 解决didRegisterForRemoteNotificationsWithDeviceToken不调用的问题
- 第二周项目2 -程序的多文件组织
- 用javascript实现java中的集合list(后续不断完善优化)