第八章
存储引擎
1.分类:MyISAM、InnoDB、MEMORY、Archive
①InnoDB存储引擎
特点:
从MySQL5.5版本之后,MySQL的默认内置存储引擎已经是InnoDB了,他的主要特点有:
(1)支持事务。
(2)使用行级锁,可以支持更高的并发;
(3)支持外键;
②MyISAM存储引擎
特点:
在5.5版本之前,MyISAM是MySQL的默认存储引擎,该存储引擎并发性差,不支持事务,所以使用场景比较少,主要特点为:
(1)不支持事务;
(2)不支持外键,如果强行增加外键,不会提示错误,只是外键不起作用;
(3)默认表级锁,所以并发度很差,加锁快,锁冲突较少,所以不太容易发生死锁;
(4)数据库所在主机如果宕机,MyISAM的数据文件容易损坏,而且难恢复;
----------------------------------------------------------------------
什么是事务?
事务对应生活中用户的操作就是一个业务。事务是用户操作数据库的基本单元,1个事务是由1到多条sql语句组成
(组成事务的sql命令的多少取决于业务的复杂程度)。组成事务的一组sql命令,要么一起成功,要么一起失败。
事务是为了保证业务操作的完整性和数据的安全一致性。
事务的特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)
2.表级锁和行级锁
表级:
直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许
行级:
仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。
3.修改表存储引擎
语法:
show create table 表名;(查看当前表的存储引擎)
(1)修改已创建过的表:alter table 表名 ENGINE = 修改的存储引擎;
(2)创建表时指定存储引擎
CREATE TABLE 表名(
列名1 数据类型 [完整性约束条件],
列名2 数据类型 [完整性约束条件],
……
列名n 数据类型 [完整性约束条件],
)ENGINE=INNODB;
注:建议创表时直接指定存储引擎
4.图形化管理工具
(1)phpMyAdmin(http://www.phpmyadmin.net/)
(2)SQLyog(http://sqlyog.en.softonic.com/ )
(3)Database Master
(4)Navicat