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;

     
  • 相关阅读:
    (二十五)Struts2 Tiles集成
    (二十四)Struts2 Spring集成
    etcd 和 redis的使用场景
    react v16.12 源码阅读环境搭建
    gmail邮箱怎么批量删除邮件
    动态创建的元素怎么做动画
    Window 添加定时任务
    commons-pool2-中的一些配置
    Activiti 5.18 流程Model 转成 流程BPMN文件
    Activiti 使用自己的身份认证服务
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11811100.html
Copyright © 2011-2022 走看看