MyISAM 存储引擎

数据库优化 学习笔记

一、MySQL引擎 之 MyISAM

  • MySQL5.5 之前的版本默认存储引擎
  • MyISAM存储引擎表由 frm(表结构文件)、MYD(数据文件) 和 MYI(索引文件)组成

1.1、什么是锁

  • 锁主要作用是管理共享资源的并发访问

  • 锁用于实现事务的隔离性

1.2、锁的类型

  • 共享锁: 也称 “度锁”,针对同一份数据,多个读操作可以同时进行而不会互相影响

  • 独占锁: 也称 “写锁”,当前写操作没有完成前,它会阻断其他 写锁读锁

1.3、锁的粒度

  • 表级锁: 设置表级锁,那么当一个用户在对表进行操作时,其他用户不能做任何操作。

  • 行级锁: 设置行级锁,那么当一个用户在对一行数据进行操作时,其他用户不能对该行数据进行操作,但可以对比表中的其他数据进行操作。并发性好



二、MyISAM 存储引擎特性


2.1、并发性和锁级别

  • 并发性: MyISAM 存储引擎使用的是表级锁,并发行不怎么好。

  • 锁级别: 表级锁。

2.2、表损坏与修复(了解)

  • 检测表是否损坏
	check table 表名;
  • 修复表
	repair table 表名;

2.3、MyISAM 表支持数据压缩(了解)

	-- '-f' 表示强制压缩
	-- 'myIsam.MYI' 要压缩的文件
	myisampack -b -f myIsam.MYI 



三、MyISAM 存储引擎限制


3.1、版本限制

  • 版本 < MySQL5.0 时默认表大小为4G,如存储大表则要修改 MAX_RowsAVG_ROW_LENGTH
	最大可存储数(行数) = MAX_Rows * AVG_ROW_LENGTH
  • 版本 > MySQL5.0 时默认支持 256TB

3.2、适用场景

  1. 非事务型应用

  2. 只读类应用(因为它比较快)

发布了85 篇原创文章 · 获赞 0 · 访问量 1257

猜你喜欢

转载自blog.csdn.net/qq_43621629/article/details/103663733