美文网首页IT@程序员猿媛
MySQL数据库常用存储引擎

MySQL数据库常用存储引擎

作者: 高多金 | 来源:发表于2019-05-03 16:14 被阅读1次

    Mysql数据库常用存储引擎

    数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是插件式存储引擎。

    查看存储引擎:

    mysql> show engines;

    MySQL给用户提供了许多不同的存储引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。Support列的值表示某种引擎是否能使用:YES表示可以使用、NO表示不能使用、DEFAULT表示该引擎为当前默认的存储引擎。

    使用下面sql可以查看默认使用的引擎:

    mysql> show variables like 'storage_engine';

    几种常见的存储引擎:

    InnoDB存储引擎

    InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。

    支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

    MyISAM存储引擎

    MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。

    插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

    MERGE存储引擎

    Merge存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,merge表本身并没有数据,对merge类型的表可以进行查询,更新,删除操作,这些操作实际上是对内部的MyISAM表进行的。

    关于存储引擎的一些命令

    查看表的存储引擎

    Show create table table_name;

    或者

    show table status from db_name where name='table_name';

    修改表的存储引擎sql

    Alter table table_name type=InnoDB;

    或者

    alter table student engine=MyISAM;

    创建表时指定存储引擎:

    mysql> create table test1(id int) engine= MyISAM

    或者

    vi /etc/my.cnf

    [mysqld]

    default-storage-engine=INNODB

    或者使用命令修改:

    mysql> set default_storage_engine=MyISAM

    相关文章

      网友评论

        本文标题:MySQL数据库常用存储引擎

        本文链接:https://www.haomeiwen.com/subject/yfhznqtx.html