MyIsam引擎的 表锁的读锁是共享锁

  1. 查看锁的命令
  2. show open table
  3. 锁表
  4. lock table 表名 XXX read(或write , XXX write(或read);
  5. 释放表锁
  6. unlock tables;
  7. 如何分析表锁
  8. 可以通过检查table_locks_waitedtable_locks_immediate状态变量来分析系统上的表锁:
  9. show status like "table%";
  10. Table_locks_immediate:产生表级锁的次数,表示可以立即获取锁的查询次数,每立即获得锁值加1
  11. Table_locks_waited:出现表级锁争用而发生等待的次数(不能立即获取锁的次数,每等待一次锁加1),此值高则说明存在着较严重的表级锁征用情况

读写锁(MyIsam表锁) - 图1

MyIsam引擎的 表锁的写锁是排它锁

读写锁(MyIsam表锁) - 图2

读写锁(MyIsam表锁) - 图3

总结:MyIsam表锁中的 读锁会阻塞写,但不会阻塞读, 而写锁则读写阻塞