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;

     
  • 相关阅读:
    3553: [Shoi2014]三叉神经树(树链剖分)
    Hive学习笔记(三)-- DML和DDL操作
    Hive学习笔记(二)
    Hive学习笔记(一)
    Hive安装步骤
    【Netty】NIO框架Netty入门
    【Netty】Netty入门之WebSocket小例子
    记录一次面试
    线程池面试
    反射面试
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11811100.html
Copyright © 2011-2022 走看看