mysql储存引擎

mysql存储引擎

  是用来处理表的处理器

  是mysql服务软件自带的功能程序,不同的存储引擎有不同的功能和数据存储方式。

查看当前的数据库服务器可以使用哪些服务引擎

   指令:show engines;

   InnoDB   DEFAULT 是默认的存储引擎。

修改mysql服务默认使用的存储引擎:

  vim /etc/my.cnf

         [mysqld]

       default-storage-engine=myisam

        #修改数据库默认使用的存储引擎。

       #systemctl  restart mysqld

 

建表时手动指定存储引擎:

  格式:show  create  table  表名G;

  备注:若不指定时。使用默认的存储引擎。

更改已有表的存储引擎:

  格式:alter  table  表名 engine=存储引擎名;

指定表使用的存储引擎

  格式:create  table  表名(

        字段名列表

       )engine=存储引擎名;

careate   table   表名 (字段列表);

 

常用存储引擎:myisam、innodb

常用存储引擎的特点:

  myisam特点 :不支持事务 、行级锁、外键;

  支持表级锁  :当有人修改文件时对整个文件进行锁。

  独享表空间

  多用在查旬、插入操作较多的表。

相关myisam的表文件:

  表名.frm  存的是表结构  DESC  表名

  表名.MYD  存的是表记录  select * from 表名;

  表名.MYI  存的是表索引信息

innodb特点:支持外键、 事务回滚、外键、

  行级锁:当有人修改文件时对每一行的文件进行锁。

  共享表空间

  相关myisam的表文件:

  表名.frm   存储的是表结构

  表名.idb   存储的索引信息+数据

 

事务:一次sql从开始到结束的过程。

访问数据时从开始连接->操作记录->断开连接的过程。

事务回滚: 在事务执行过程中,有任意一步操作失败,恢复之前的所有操作。

锁的作用:避免并发访问时的冲突问题

锁类型:看的是访问类型

读锁: 又被称作 共享锁 (select)

写锁: 又被称作 排它锁或互斥锁 (insert update delete)

 

锁粒度:

  表级锁 : 给一张表加锁 (存储引擎 myisam)

  行级锁 :   给行加锁 (存储引擎 innodb)

 

建表是如何决定表使用那种存储引擎

  处理写操作多的表适合使用innodb存储引擎,因为并发访问量大。

  处理读操作多的表适合使用myisam存储引擎,因为节省资源。

原文地址:https://www.cnblogs.com/wwchihiro/p/9366323.html