MySQL数据库读锁和写锁
工具/原料
MySQL
MySQL数据库读锁和写锁
1、#locktableread|write读锁:当MySQL的一个进程为某一表开启读锁之后,其他的进程包含自身都没有权利去修改这表表的内容。但是所有的进程还是可以读出表里面的内容的。但是不能实现更新。
2、释放msyql的锁#unlocktables;
3、通过测试发现,在MySQL使用读锁操作某一张表的时候,堤寇辔钒其他的进程如果同时需要操作此表,只有等它释放读锁之后,才可以更新数据,在此过程中,其他的愉桴狁焕进程都要处于等待状态。一般不建议在MySQL层面启用锁机制,更多的是使用php文件锁来做操作。mysql写锁:当某一个进程在对某一张表实施写锁后,在该进程如果完成了更新(写、insert、update、delete)之后,如果不释放写锁,其他的进程连查看这张表的权限都没有,只有等它释放写锁值,其他的进程才可以完成相应的操作。如果该进程没有对该表进行更新操作,其他的进程只能做查询操作,但是无法实现更新操作。
4、#unlocktables;问题:存储引擎如何选择?解决:MyISA怡觎现喾M存储引擎来说,实现内部的锁机制的时候使用锁表(一张表里面的全部内容都锁定)Inno肛舀辨乔DB的存储引擎来说,实现内部是锁行(当前操作的内容)