MYSQL 存储引擎的简单认识
来源:互联网 发布:linux stopped 编辑:程序博客网 时间:2024/06/05 05:12
什么是存储引擎?
数据库中根据表的使用频率、插入速度、查询速度、是否支持事物等因素的不同,使用不同的存储引擎,以下根据不同的存储引擎简单阐述下自己的见解。
只有mysql才有存储引擎吗?
在MYSQL 中使用如下命令查看支持的引擎:
show engines;
MyISAM
- 独立于操作系统,迁移性好。
- 无法使用事务。
- 自动生成三个文件(eg:有一个表tb_test,1.生成 tb_demo.frm,存储表定义;2.tb_demo.MYD,存储数据;3.tb_demo.MYI,存储索引。)
适用于:
1.选择密集型的表。MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。
2.插入密集型的表。MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。
InnoDB
- 行级锁定
- 外检约束
- 事务支持
1.更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
2.事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。
3.自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
4.外键约束。MySQL支持外键的存储引擎只有InnoDB。
5.支持自动增加列AUTO_INCREMENT属性。
MEMORY
1.目标数据较小,而且被非常频繁地访问。在内存中存放数据,所以会造成内存的使用,可以通过参数max_heap_table_size控制Memory表的大小,设置此参数,就可以限制Memory表的最大大小。
2.如果数据是临时的,而且要求必须立即可用,那么就可以存放在内存表中。
3.存储在Memory表中的数据如果突然丢失,不会对应用服务产生实质的负面影响。
注:Memory同时支持散列索引和B树索引。B树索引的优于散列索引的是,可以使用部分查询和通配查询,也可以使用<、>和>=等操作符方便数据挖掘。散列索引进行“相等比较”非常快,但是对“范围比较”的速度就慢多了,因此散列索引值适合使用在=和<>的操作符中,不适合在<或>操作符中,也同样不适合用在order by子句中。
MERGE
ARCHIVE
CSV
- 逗号分隔。
- 不支持索引
- MYSQL 存储引擎的简单认识
- MySQL的存储引擎
- Mysql的存储引擎
- MySql的存储引擎
- mysql的存储引擎
- mysql的存储引擎
- MySQL的存储引擎
- MySQL 的存储引擎
- MySQL的存储引擎
- MySQL的存储引擎
- mysql的存储引擎
- mysql的存储引擎
- MySQL的存储引擎
- MySQL的存储引擎
- Mysql的存储引擎
- MySQL的存储引擎
- MySQL的存储引擎
- InnoDB存储引擎 --mysql的存储引擎
- 4.5.1 Good 使用PullToRefresh实现下拉刷新和上拉加载
- poj 1741 bzoj1468 Tree
- 使用gdb和gdbserver
- CSS样式之clear清除浮动
- Java多线程之ReentrantReadWriteLock
- MYSQL 存储引擎的简单认识
- 指针啊排序 手打娱乐
- 面试题目——快速排序
- UVa 1583 - Digit Generator
- sass混合宏
- 【Java】equal与==的区别
- Toefl作文
- BZOJ_P1072 [SCOI2007]排列perm(状态压缩动态规划)
- sass继承 %占位符placeholder