MySQL数据库引擎
来源:互联网 发布:西北大学网络教育登陆 编辑:程序博客网 时间:2024/05/21 10:47
php交流群:45503780
MySQL中最常用的两种引擎是innodb和myisam。
·第一部分:
Myisam适用于较小的数据库,数据量相对较小。innodb可以存储的数据量则更大。
Myisam强调快速读取操作,查询相同数据量的表,Myisam可以更快;同时,Myisam表占用的空间大小要比innordb小,更加节省空间;
Myisam没有任何的事物处理机制,不能在表损坏后恢复数据,也就是不能进行事务处理。相反,innodb给Mysql提供了提交,回滚和崩溃恢复能力的事物安全机制;innordb数据引擎不仅支持事务处理还支持外键的功能【外键,通俗的讲就是表中的一个属性受约束与另一个表的属性】。
第二部分:
总结:一般来说,MyISAM适合:(1)做很多count 的计算,因为Myisam缓存有表meta-data,意味着执行count不需要消耗多少资源;(2)插入不频繁,查询非常频繁;(3)没有事务。(4)适合数据量少的操作。InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。
第三部分:
这里主要想介绍一下外键机制。
外键,通俗的讲就是表中的一个属性受约束于另一个表的属性。这里对外键简要介绍,举个例子:
ALTER TABLE table1 ADD CONSTRAINT fk_model
FOREIGN KEY (foreignkey)
REFERENCES table2 (key)
ON UPDATE CASCADE;
Constraint英文意思“约束”,fk_model表示给外键起的名字【添加一个名为fk_mode的约束】;foreignkey表示table1中的一个将受约束的属性;references表示“参照”的意思,表示这个外键受的约束来至于table2(key); ON UPDATE CASCADE,即在主表更新时,子表(们)产生连锁更新动作,似乎有些人喜欢把这个叫“级联”操作。
外键的要求:外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;
第四部分:
说一下其他的数据引擎
除了这些之外,还有ISAM和HEAP数据库引擎,Myisam是ISAM的扩展,除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。
- MySQL 数据库引擎比较
- MySQL数据库引擎
- MySQL数据库引擎介绍
- MySQL数据库引擎
- Mysql数据库存储引擎
- MySQL数据库引擎转换
- mysql的数据库引擎
- MySql数据库引擎
- MySQL数据库存储引擎
- mysql数据库引擎
- mysql 更改数据库引擎
- MYSQL 数据库引擎
- MYSQL 数据库引擎对比
- mysql数据库引擎
- MYSQL数据库引擎特点
- mysql 的数据库引擎
- MySQL数据库引擎
- mysql的数据库引擎
- android:EditText属性/去边框
- 网络通信—udp使用领悟
- 黑马程序员_常用API
- java模式---责任链模式之Filter链条
- 支付宝在线支付接口
- MySQL数据库引擎
- Android requires compiler compliance level 5.0 or 6.0.
- Udacity调试课笔记之断言异常
- 链表的游标实现?
- 基于纹理边缘抑制的轮廓和边界检测(Contour and Boundary Detection)
- 添加文件到Sdcard出现Failed to push selection: Invalid argument问题
- linux系统命令 shopt
- NVIDIA Tegra3,高通S4 MSM8960,三星Exynos4【新一代手机处理器大比拼】
- Fedora下安装VMWare Workstation