默认MyISAM的表会在磁盘中产生3个文件:.frm(表结构文件)、.MYD(数据文件)、.MYI(索引文件)
可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持:
- DATA DIRECTORY [=] 数据保存的绝对路径
- INDEX DIRECTORY [=] 索引文件的绝对路径
MyISAM单表最大支持的数据量为2的64次方跳记录
每个表最多可以建立64个索引
如果是复合索引,每个复合索引最多包含16个列,索引值最大长度是1000B
MyISAM引擎的存储格式:
- 定长(FIXED 静态) :是指字段不包含VARCHAR/TEXT/BLOB
- 动态(DYNAMIC) :只要字段中包含了VARCHAR/TEXT/BLOB
- 压缩(COMPRESSED):muisampack创建
InnoDB存储引擎:
设计遵循ACID模型,支持事务,具有从服务崩溃中恢复的能力,能够最大限度保护用户的数据
支持行级锁,可以提升多用户并发时的读写性能
InnoDB拥有自己独立的缓冲池,常用的数据和索引都在缓存中
对于INSERT、UPDATE、DELETE操作,InnoDB会使用一种change buffering的机制来自动优化,还可以提供一致性的读,并且还能够缓存变更的数据,减少磁盘I/O,提高性能
创建InnoDB表之后会产生两个文件:
- .frm表结构文件
- .ibd 数据和索引存储表空间中
所有的表都需要创建主键,最好是配合上AUTO_INCREMENT,也可以放到经常查询的列作为主键
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- 详解MySQL InnoDB存储引擎的内存管理
- 关于MySQL Memory存储引擎的相关知识
- 详解mysql中的存储引擎
- 简述MySQL InnoDB存储引擎
- MySql 存储引擎和索引相关知识总结
- MySQL 学习总结 之 初步了解 InnoDB 存储引擎的架构设计
- 浅谈MySQL中四种常用存储引擎
- MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解
- MySQL存储引擎InnoDB的配置与使用的讲解
- MySQL存储引擎MyISAM与InnoDB区别总结整理
- MySQL 常见存储引擎的优劣