SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.5.20 | +-----------+ 1 row in set (0.00 sec) CREATE TABLE test ( a IN" />

国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

mysql的INNODB引擎鎖的原理試驗_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 19:42:09
文檔

mysql的INNODB引擎鎖的原理試驗_MySQL

mysql的INNODB引擎鎖的原理試驗_MySQL:mysql的INNODB引擎鎖的原理是怎樣的,來做個試驗。 mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.5.20 | +-----------+ 1 row in set (0.00 sec) CREATE TABLE test ( a IN
推薦度:
導讀mysql的INNODB引擎鎖的原理試驗_MySQL:mysql的INNODB引擎鎖的原理是怎樣的,來做個試驗。 mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.5.20 | +-----------+ 1 row in set (0.00 sec) CREATE TABLE test ( a IN

mysql的INNODB引擎鎖的原理是怎樣的,來做個試驗。

mysql> SELECT VERSION();

+-----------+
| VERSION() |
+-----------+
| 5.5.20 |
+-----------+
1 row in set (0.00 sec)

CREATE TABLE test
(
a INT(5),
b VARCHAR(10),
c VARCHAR(10)
);
INSERT INTO test VALUES(1,'111','111');
INSERT INTO test VALUES(2,'222','222');
INSERT INTO test VALUES(3,'333','333');
INSERT INTO test VALUES(4,'444','444');
INSERT INTO test VALUES(5,'555','555');
INSERT INTO test VALUES(6,'666','666');
COMMIT;

mysql> select * from test;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 111 | 111 |
| 2 | 222 | 222 |
| 3 | 333 | 333 |
| 4 | 444 | 444 |
| 5 | 555 | 555 |
| 6 | 666 | 666 |
+------+------+------+
6 rows in set (0.00 sec)

在CMD窗口完成實驗,需要設置set autocommit=off;

1.在沒有主鍵的情況下,修改不同的一條記錄
session1:
mysql> update test set b='111' where a=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

session2:
mysql> update test set b='222' where a=2;--先是hang住,過段時間后就報錯
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

2.在沒有主鍵的情況下,新增一條數據,然后修改另一條數據
session1:
mysql> insert into test values(7,'777','777');
Query OK, 1 row affected (0.00 sec)

session2:
mysql> update test set b='222' where a=2;--先是hang住,過段時間后就報錯
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

3.在有主鍵的情況下,修改不同的一條記錄
ALTER TABLE test ADD PRIMARY KEY(a);
當有主鍵時沒有產生鎖全表的情況
session1:
mysql> update test set b='111' where a=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

session2:
mysql> update test set b='222' where a=2;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

當有主鍵時修改同一條記錄,會hang住,說明就是行鎖
session1:
mysql> update test set b='111' where a=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
session2:
mysql> update test set b='111' where a=1;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

4.在有主鍵的情況下,insert和update
session1:
mysql> insert into test values(8,'888','888');
Query OK, 1 row affected (0.00 sec)

session2:
mysql> update test set b='111' where a=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

5.在沒有索引的情況下,修改不同的一條記錄
session1:
mysql> update test set c='111' where b='111';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

session2:
mysql> update test set c='222' where b='222';
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

6.在有索引的情況下,修改不同的一條記錄
CREATE INDEX ind_t_b ON test(b);
session1:
mysql> update test set c='111' where b='111';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

session2:
mysql> update test set c='222' where b='222';
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1 Changed: 0 Warnings: 0

總結:當用到了索引(同時我也測試了建了索引沒有用到的情況,還是行鎖),則是行鎖,否則鎖全表,沒有Oracle中的行鎖方便。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysql的INNODB引擎鎖的原理試驗_MySQL

mysql的INNODB引擎鎖的原理試驗_MySQL:mysql的INNODB引擎鎖的原理是怎樣的,來做個試驗。 mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 5.5.20 | +-----------+ 1 row in set (0.00 sec) CREATE TABLE test ( a IN
推薦度:
標簽: 原理 in 鎖定
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 五月天婷婷在线视频 | 亚洲国产精品免费视频 | 91欧美精品 | 大色欧美 | 99精品国产成人一区二区 | 99精品视频在线观看免费 | 日韩在线观看一区 | 国产欧美va欧美vahd | 国产精品毛片一区二区三区 | 亚州色图欧美色图 | 国产日韩欧美精品在线 | 国产免费高清视频在线观看不卡 | 午夜在线观看免费视频 | 亚洲欧美第一 | 亚洲va乱码一区二区三区 | 北条麻妃在线播放 | 一级高清 | 国产精选在线观看 | 国产精品一区二区午夜嘿嘿嘿小说 | 亚洲国产成人精品一区二区三区 | 欧美激情伦妇在线观看 | 国产欧美亚洲精品 | 欧美日韩网 | 夜精品a一区二区三区 | 国产精品久久一区一区 | 欧美另类日韩中文色综合 | 国产精品视频免费 | 激情一区二区三区 | 久久国产精品成人免费 | 欧美日韩免费在线观看 | 国产精品视频一区二区噜噜 | 美国一级大黄大色毛片 | 日韩亚洲欧美视频 | 日韩精品一区二区三区国语自制 | 亚洲综合久久久 | 欧美专区在线观看 | 日本一区二区三区不卡在线视频 | 中文字幕美日韩在线高清 | 91午夜精品亚洲一区二区三区 | 亚洲精品在线免费观看 | 亚洲日韩图片专区第1页 |