(6)关于存储引擎

关于存储引擎

MyISAM

MySQL5.3版本以前使用的存储引擎,当你在创建表的时候,默认存储引擎就是MyISAM

例:create table test(

    id int unsigned auto_increment primary key,

    name char(32) not null default'',

    age int not null default 1

  )charset=utf8 ENGINE=MyISAM  #可以指定存储引擎

 

Innodb

MySQL5.5版本以后,不指定引擎,默认的存储引擎就是Innodb

PS:如果高版本的MySQL做数据迁移至低版本的MySQL中,要注意一定要在指定数据库,否则高版本迁移至低版本做数据导入时候会出问题(相反低版本迁移至高版本也同理)

PS:如果涉及钱等重要的数据,在老版本5.3以前的数据库,建立新表的时候一定要指定引擎是innodb,要支持事物,执行指令出现意外或者错误时候可以回滚

MyISAM和Innodb的区别

1、Innodb支持事物,MyISAM支持事物

2、MyISAM是表锁,Innodb是行锁

什么是MySQL的锁

相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制
MySQL大致可归纳为以下3种锁:

1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般

原文地址:https://www.cnblogs.com/shizhengquan/p/10299346.html