一、 状态查看
1.版本
select version();
2.存储引擎
show engines;//支持哪些引擎
show variables like '%storage_engine%';//查看数据库默认引擎
show table status from test;//查看库所在所有表的引擎
show create table 库.表;//查看单个表的引擎
create table t_data engine=innodb;//创建表时指定引擎
alter table t_data engine=innodb;//修改表的引擎
3. 表级锁(MyISAM)、页级锁()、行级锁(InnoDB)
表级锁有两种模式:表共享读锁(Read Lock)、表独占写锁(Write Lock)
MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁。
所以对MyISAM表进行操作,会有以下情况:
a、对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其它进程的写操作。
b、对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。
lock tables 表 read|write;//添加表级锁
unlock tables;//释放表级锁
本文介绍了MySQL中如何查看版本、存储引擎等状态信息,并详细解释了MyISAM存储引擎的表级锁机制及其工作原理。

被折叠的 条评论
为什么被折叠?



