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

    简述

    在MySQL数据库中,数据使用各种不同的技术转储在文件或内存中,这种技术或功能就称为存储引擎。

    查看存储引擎信息

    查看MySQL中支持的存储引擎

    show engines;
    

    查看当前默认正在使用的存储引擎

    show variables like 'storage_engine';
    

    常用存储引擎类型

    MyISAM

    不支持事务,也不支持外键。访问速度快。

    磁盘文件

    每个MyISAM存储引擎的表,在磁盘上存储为3个文件,文件名和表名相同,扩展名如下:

    • .frm (存储表定义)
    • .MYD (MYData,存储数据)
    • .MYI (MYIndex,存储索引)

    MyISAM 的表数据和索引数据是分开存储的。

    适合的场景
    • 读多的应用,如:博客,头条新闻
    • 数据一致性要求不高的业务

    InnoDB

    支持事务,支持外键约束,

    磁盘文件
    • .frm (存储表定义)

    InnoDB 的表数据与索引数据是存储在一起的,都位于 B+ 数的叶子节点上

    适合的场景
    • 需要事务支持,如:银行支付业务
    • 数据一致性要求高的业务

    Memory

    Memory存储引擎将表的数据存放在内存中。每个MEMORY表实际对应一个磁盘文件,格式是.frm ,该文件中只存储表的结构,而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。MEMORY 类型的表访问非常地快,因为他的数据是存放在内存中的,并且默认使用HASH索引 , 但是服务一旦关闭,表中的数据就会丢失。

    磁盘文件

    每个 MEMORY 表实际只对应一个磁盘文件,格式是 .frm。它只保存表结构

    MERGE

    MERGE 存储引擎是一组 MyISAM 表的组合,MERGE 表本身没有数据,对 MERGE 类型的表进行查询、更新、删除的操作,实际上是对内部的 MyISAM 表进行的。

    磁盘文件

    MERGE 表在磁盘上保留两个文件,一个是 .frm 文件存储表定义、一个是 .MRG 文件存储 MERGE 表的组成。

    Archive

    ARCHIVE存储引擎只支持INSERT和SELECT操作。

    磁盘文件
    • .frm 文件结构文件
    • .arz 数据文件
    适合场景
    • 日志,流水等数据的归档业务场景

    CSV

    csv表允许以csv格式导入或转储数据

    磁盘文件
    • .csv结尾的文件是保存数据的文件
    • .csv结尾的文件是元信息文件,保存表的状态及存储的数据量
  • 相关阅读:
    Access Violation
    虚拟目录的配置(tomcat服务器)
    CSS3 实现滚动字幕效果(即跑马灯)
    css3 textshadow
    iScroll4 禁止select等页面元素默认事件的解决方法
    软件评测师考试总复习19(文档测试)
    软件评测师考试总复习15(兼容性测试)
    软件评测师考试总复习16(标准符合性测试)
    软件评测师考试总复习17(易用性测试)
    软件评测师考试总复习18(可靠性测试)
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15233275.html
Copyright © 2011-2022 走看看