当前位置:Gxlcms > 数据库问题 > 第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择

第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择

时间:2021-07-01 10:21:17 帮助过:2人阅读

一、MySQL的并发控制

    1、MySQL的并发控制在 服务器层和存储引擎层完成

       锁:lock 

            读锁:共享锁,可以几个用户同事读取,但不能写

            写锁:独占锁,

       锁粒度:锁表时锁表的范围(比如一个用户读前三行,一个用户写入最后一行) 

            表级锁:innodb表级锁

            行级锁:myisa行级锁(锁控制复杂)

            死锁:A请求B,B请求A (自己能协商解锁)

        锁分类:

            隐式锁:由存储引擎自动完成

            显式锁:用户可手动施加锁,表级锁

        手动加锁:服务器级别实现

            LOCK TABLES tb1 {READ|WRITE},……

           UNLOCK TABLES;释放锁

            例:>use hellodb;

                >LOCK TABLES students READ;

            FLUSH TABLES WITH READ LOCK; 关闭表并全局执行读锁

            UNLOCK TABLES;

        InnoDB存储引擎也支持另外一种显式锁(只锁定挑选的行)

            SELECT... LOCK IN SHARE MODE;

            SELECT...FOR UPDATE;


     2、事务:ACID

        一个事务就是一个执行单元:多个sql语句,要么都执行,要么都不执行。

第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择

标签:用户   服务器   

人气教程排行