码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-07-19 11:29:04      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:用户   服务器   

一、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并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择

标签:用户   服务器   

原文地址:http://liwenjia.blog.51cto.com/2656598/1827523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!