zoukankan      html  css  js  c++  java
  • MySQL之存储引擎

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。
     
     

    InnoDB引擎特点

      1、行级锁

      2、支持事务,适合处理大量短期事务

      3、读写阻塞与事务隔离级别相关

      4、可缓存数据和索引

      5、支持聚簇索引

      6、崩溃恢复性更好

      7、支持MVCC高并发

      8、从MySQL5.5后支持全文索引

      9、从MySQL5.5.5开始为默认的数据库引擎

      10、InnoDB数据库文件

        默认所有InnoDB表的数据和索引放置于同一个表空间中

        表空间文件:datadir定义的目录下

        数据文件:ibddata1, ibddata2, ...

        每个表单独使用一个表空间存储表的数据和索引

          启用方法:编辑配置文件innodb_file_per_table=ON

        两类文件放在数据库独立目录中

          数据文件(存储数据和索引):tb_name.ibd

          表格式定义:tb_name.frm

     

    MyISAM引擎特点

      1、不支持事务

      2、表级锁定

      3、读写相互阻塞,写入不能读,读时不能写

      4、只缓存索引

      5、不支持外键约束

      6、不支持聚簇索引

      7、读取数据较快,占用资源较少

      8、不支持MVCC(多版本并发控制机制)高并发

      9、崩溃恢复性较差

      10、MySQL5.5.5前默认的数据库引擎

      11、MyISAM存储引擎适用场景

        只读(或者写较少)、表较小(可以接受长时间进行修复操作)

      12、MyISAM引擎文件

        tbl_name.frm 表格式定义

        tbl_name.MYD 数据文件

        tbl_name.MYI 索引文件

     
    管理存储引擎命令
      1、查看mysql支持的存储引擎

        show engines;

      2、查看当前默认的存储引擎

        show variables like '%storage_engine%';

      3、设置默认的存储引擎

        vim /etc/my.conf

        [mysqld]

        default_storage_engine= InnoDB

      4、查看库中所有表使用的存储引擎

        show table status from db_name;

      5、查看库中指定表的存储引擎

        show table status like ' tb_name ';

        show create table tb_name;

      6、设置表的存储引擎:

        CREATE TABLE tb_name(... ) ENGINE=InnoDB;

        ALTER TABLE tb_name ENGINE=InnoDB;

     
  • 相关阅读:
    盛最多水容器
    罗马数字和整数互相转化
    v-if和v-for
    扫描二维码登录
    使用Promise实现红绿灯交替重复亮
    利用promise实现间隔1s打印1,2,3
    原生js拖拽
    react项目引入使用element-react报错
    php实现类似淘宝最近浏览商品的功能模型代码
    教你如何把php项目打包成EXE文件发布
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11811100.html
Copyright © 2011-2022 走看看