MySQLデータベースエンジンの概要
MySQL数据库存在ARCHIVE、BLACKHOLE、CSV、InnoDB、MEMORY、MyISAM。以下描述MyISAM、InnoDB、CSV、MEMORY四种常用引擎
1 MyISAM
1.1構成の概要
MySQL5.5之前的版本默认引擎为MyISAM,MySQL5.5之后的版本默认引擎为InnoDB
MyISAM存储引擎表由MYD及MYI组成
MYD:数据文件
MYI:索引文件
1.2機能
并发性差,锁级别为表级锁
表损坏难修复
可以压缩:压缩后的内容只能读取,不能进行更新、删除等其他作业。
1.3収納テーブルのサイズ
MySQL5.0之前的版本,表的默认大小为4G,如果存储大要修改MAX_Rows和AVG_ROW_LENGTH
MySQL5.0之后的版本,表的默认大小为256TB。
1.4該当するシナリオ
1、适合非事务型的应用,如日志
2、只读类型
2 InnoDB
2.1構成の概要
MySQl5.5之后的版本默认引擎为InnoDB
Innodb使用表空间进行数据存储
show variables like 'innodb_file_per_table'
显示结果为:
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
ON表示开启独立空间:删除内容可以释放空间,让文件变小
OFF表示系统表空间:无法释放空间
システム表スペースとして設定
set global innodb_file_per_table=off;
2.2機能の紹介
1、支持事务的ACID特征
2、InnoDB支持行级锁,可以最大程度的支持并发
2.3MyISAMとInnoDBの比較
比較項目 | MyISAM | InnoDB |
---|---|---|
主外部キー | サポートしません | 待機する |
事務 | サポートしません | 待機する |
行テーブルロック | テーブルロック | 行ロック |
キャッシュ | 実際のデータではなく、インデックスのみをキャッシュします | インデックスをキャッシュするだけでなく、高いメモリを必要とする実際のデータもキャッシュします。メモリサイズはパフォーマンスに決定的な影響を及ぼします。 |
テーブルスペース | 小さい | 大きい |
フォーカスポイント | パフォーマンス | 事務 |
デフォルトのインストール | そして | そして |
3 CSV
3.1構成の概要
1、数据以文本方式存在文件中
2、CSV文件存储表内容
3、CSM文件存储表的元数据如表状态和数据量
4、frm文件存储表结构信息
3.2テーブル作成に関する注意
1、各栏位不能为空
2、无法设置主键
3、无法设定自增
4、无法建立索引
3.3機能
以CSV格式进行数据存储
3.4使用シナリオ
适合坐为数据交换中间表
4メモリ
4.1構成の概要
HEAP存储引擎,数据保存在内存中,如果MySQL服务重启数据会丢失,但是表结构会保存下来
4.2機能
1、支持HASH索引和BTree索引
2、所有字段都为固定长度varchar(10)=char(10)
3、不支持BLOB和TEXT等大字段
4、Memory存储引擎使用表级锁