MySQL存储引擎介绍

匿名 (未验证) 提交于 2019-12-02 22:06:11

mysql数据库常用的三种存储引擎: 

数据库的存储引擎:5.6版本之后的默认为InnoDB存储,5.5版本之前的默认是MyISAM存储引擎    1.第一种myisam:三个文件        (1)表结构存文件、数据文件、搜索目录三个文件都存放在硬盘上        (2)应用于以读和插入为主的操作,很少的更新和删除        (2)不支持事务安全、不支持外键、不支持行级锁,表级锁严重影响并发    2.第二种innodb:两个文件        (1)表结构文件、数据和搜索目录文件都存放在硬盘上        (2)支持支持外键、支持行级锁、表级锁、事务安全确保事务的完整提交和回滚,        (3)    3.第三种memory:两个文件        (1)表结构存储在硬盘,数据存储在内存,对表的大小有限制        (2)读写速度快,关机会导致内存数据的丢失,多用于热新闻

MyISAM和InnoDB区别

MyISAM是MySQL的默认数据库引擎(5.5版之前)。虽然性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。不过,5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。

大多数时候我们使用的都是 InnoDB 存储引擎,但是在某些情况下使用 MyISAM 也是合适的比如读密集的情况下。(如果你不介意 MyISAM 崩溃回复问题的话)。

两者的对比:

  1. 是否支持行级锁

  2. 是否支持事务和崩溃后的安全恢复:MyISAMInnoDB

  3. 是否支持外键:

  4. 是否支持MVCCREAD COMMITTEDREPEATABLE READhttps://segmentfault.com/a/1190000012650596

存储引擎在mysql中的使用  

  存储引擎相关sql语句

查看当前的默认存储引擎:     mysql> show variables like "default_storage_engine";     +------------------------+--------+     | Variable_name          | Value  |     +------------------------+--------+     | default_storage_engine | InnoDB |     +------------------------+--------+     1 row in set (0.00 sec)
查看当前的默认存储引擎
查询当前数据库支持的存储引擎:     mysql> show engines \G;
查询当前数据库支持的存储引擎

  指定存储引擎建表  

mysql> create table ai(id bigint(12),name varchar(200)) ENGINE=MyISAM;   mysql> create table country(id int(4),cname varchar(50)) ENGINE=InnoDB;  也可以使用alter table语句,修改一个已经存在的表的存储引擎。  mysql> alter table ai engine = innodb;
在建表时指定
#my.ini文件 [mysqld] default-storage-engine=INNODB
在配置文件.ini中指定
 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!