• 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;

     
  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11811100.html
Copyright © 2020-2023  润新知