MyISAM表
发布时间:2022-06-30 13:47 所属栏目:115 来源:互联网
导读:MyISAM表: 1.不支持事务 MyISAM:对整张表进行加锁,锁全表而不是行。在读数据的时候,所有的表上都可以获得共享锁(读锁),每个连接都不互相干扰。在写的时候,或者排他锁,会把整个表进行加锁,而其他的连接请求(读和写)都处于等待。 MySQL的表级锁有
MyISAM表: 1.不支持事务 MyISAM:对整张表进行加锁,锁全表而不是行。在读数据的时候,所有的表上都可以获得共享锁(读锁),每个连接都不互相干扰。在写的时候,或者排他锁,会把整个表进行加锁,而其他的连接请求(读和写)都处于等待。 MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁。 所以对MyISAM表进行操作,会有以下情况: a、对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其它进程的写操作。 b、对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。 2.MyIASM的修复表 [root@MyO test]# echo "a" >> myisam_tab.MYD mysql> check table myisam_tab; +-----------------+-------+----------+---------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +-----------------+-------+----------+---------------------------------------------------+ | test.myisam_tab | check | warning | Size of datafile is: 102 Should be: 100 | | test.myisam_tab | check | error | got error: 120 when reading datafile at record: 5 | | test.myisam_tab | check | error | Corrupt | +-----------------+-------+----------+---------------------------------------------------+ 3 rows in set (0.01 sec) mysql> repair table myisam_tab; +-----------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------+--------+----------+----------+ | test.myisam_tab | repair | status | OK | +-----------------+--------+----------+----------+ 1 row in set (0.01 sec) mysql> check table myisam_tab; +-----------------+-------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------+-------+----------+----------+ | test.myisam_tab | check | status | OK | +-----------------+-------+----------+----------+ 1 row in set (0.00 sec) (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读