这篇文章将为大家详细讲解有关MySQL进阶之体系结构知识点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强> 5 MySQL体系结构强>
<李>
并发性与锁级别
MyISAM使用的是表级锁,并不是行级锁,这也就意味着对表中的数据进行修改时,需要对整个表进行加锁,而在对表的读取时也对所有的表加共享锁,从这里我们可以看的到,使用MyISAM做引擎的表读取和写入两种操作是互斥的。由此可以看到MyISAM对于读写的并发操作并不会很好。如果只对于只读取操作的话,就并发性而言,性能也还不错,因为共享锁不会阻塞共享锁。
表损坏修复
MyISAM支持由于任意意外关闭而损坏的MyISAM表,进行检查和修复操作,但是这里说的修复并不是数据的恢复,因为MyISAM并不是一种事务性的存储引擎,所以它不能进行事务恢复所需要的相关日志,所以要注意MyISAM表的恢复可能会造成数据的丢失。
我们可以通过<代码>检查表的表> 代码对表进行检查,通过<代码>维修表的表> 代码对表进行恢复。
MyISAM表支持的索引类型
MyISAM支持全文索引,并且在mysql5.7版本之前唯一原生就支持全文索引的官方存储引擎。
MyISAM表支持数据压缩
如果MyISAM表示一张很大的只读表,也就是在表创建完导入数据后,就不会对表进行任何修改操作了,那我们就可以对表进行压缩了,以减少磁盘I/o .我们可以使用<代码> myisampack 代码>命令来对表进行压缩。压缩是对表独立进行压缩的,因此读取一行数据的时候,不必对整个表进行解压。
限制:
- <李>
版本& lt;mysql5.0时默认表大小为4 g
李> <李>如存储大表则要修改MAX_Rows和AVG_ROW_LENGTH
李> <李>版本比;null