<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 表鎖 建立測試表,并添加測試數據: ~~~ create table user( id int primary key auto_increment, name varchar(32) not null default '', age tinyint unsigned not null default 0, email varchar(32) not null default '', classid int not null default 1 )engine myisam charset utf8; insert into user values(null,'xiaogang',12,'gang@sohu.com',4), (null,'xiaohong',13,'hong@sohu.com',2), (null,'xiaolong',31,'long@sohu.com',2), (null,'xiaofeng',22,'feng@sohu.com',3), (null,'xiaogui',42,'gui@sohu.com',3); ~~~ 添加鎖的語法: lock table table_name1 read|write 釋放鎖的語法:unlock tables ## 添加讀鎖 lock table user read; 另外一個用戶登錄后,不能執行修改操作,可以執行查詢操作。 進行修改處于等待狀態 **注意:添加讀鎖后,自己和其他的進程(用戶)只能對該表查詢操作,自己也不能執行修改操作。** **注意:添加表的鎖定后,針對鎖表的用戶,只能操作鎖定的表,不能操作沒有鎖定的表。** 執行釋放鎖,釋放鎖之后,另外的一個進程,可以執行修改的操作了 ## 添加寫鎖 只有鎖表的客戶可以操作(讀寫)這個表,其他客戶讀都不能讀。 所以,寫鎖也叫做獨占鎖 或 排他鎖 查看另外的一個用戶,是否可以操作該表,其他的用戶,讀都不能讀, | 鎖 | 表鎖 | | --- | --- | | 讀鎖 | (自己/別人 只讀)(自己只能操作鎖定的表) | | 寫鎖 | 自己可讀可寫 別人 無 | # 行鎖 innodb存儲引擎是通過給索引上的索引項加鎖來實現的,這就意味著:只有通過索引條件檢索數據,innodb才會使用行級鎖,否則,innodb使用表鎖。 要innodb的表支持行鎖,必須添加主鍵 ~~~ alter table user engine innodb ~~~ 語法: begin; 執行語句; commit; 給當前用戶添加行鎖,另一個用戶登錄,其他行可以操作更改,當前行被鎖定無法執行修改要等鎖釋放 # php代碼 ~~~ mysql_query('lock table a write'); //添加寫鎖 //一系列操作 mysql_query('unlock tables'); //釋放鎖 ~~~ # 缺點 高并發下的商品庫存用鎖,有點保持庫存正確 使用mysql里面鎖機制缺點:就是阻塞,會阻塞拖慢整個網站的速度,一但鎖定goods表(添加寫鎖,要更改庫存),則其他進程就無法查詢goods表
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看