MySQL >>> 存储引擎

存储引擎:

  不同的数据应该有不同的处理机制,对应的就是不同的存储引擎

查看 mysql 中的存储引擎:

  show engines;  

      ---->  如下图所示:

    着重了解图中标注的四种:

  MyISAM ---> mysql 老版本用的存储引擎

  InnoDB ---> mysql 现版本默认的存储引擎

             查询速度较myisam慢,但是更安全  (因为支持行锁)

  MOMERY ---> 内存引擎;数据全部存储在内存中

  BLACKHOLE ---> 无论存储什么数据,都会立马消失;黑洞

四种引擎的特点:

    先创建库  create ku;

    指定库      use ku;

    创建表:指定引擎

        create table biao1(id int, name char(8))engine=myisam;

        create table biao2(id int, name char(8))engine=innodb;

        create table biao3(id int, name char(8))engine=memory;

        create table biao4(id int, name char(8))engine=blackhole;

    插入数据:

        insert into biao1 values(1, 'zhao');

        insert into biao2 values(2, 'zhao');

        insert into biao3 values(3, 'zhao');

        insert into biao4 values(4, 'zhao');

    查看数据:

        select * from biao1;

        select * from biao2;

        select * from biao3;

        select * from biao4;

    结果如下:

      可以看到:一直到第五步(存数据)都正常进行;

           第六步(查数据)发现采用blackhole引擎存无法查询数据

                        验证了blackhole引擎无论存什么数据进去,都会立马消失

           第七步(重启服务端查数据)发现采用memory引擎存储的数据也无法查询到

                         验证了momery引擎是将数据存储在内存中

    此外,使用四种引擎锁创建的表也不同,如下图:

      .frm  :表结构

      .ibd & MYI :真实数据

      .MYD:索引

        innodb     引擎:具备 表结构真实数据

        myisam    引擎:具备 表结构真实数据索引  ---> 所以查询速度较快

        memory   引擎:数据存储在内存中,所以只有 表结构

        blackhole 引擎:存进去的数据全部消失,所以也是只有 表结构

原文地址:https://www.cnblogs.com/pupy/p/11379367.html