概述
Session 1:
mysql>
select connection_id();
+-----------------+
| connection_id() |
+-----------------+
|
2 |
+-----------------+
1 row in set (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t200 where phoneNo between 30 and 40 for update;
+----+---------+-------------+--------+
| sn | phoneNo | channelType | status |
+----+---------+-------------+--------+
| 30 | 30
|
2 |
1 |
| 34 | 34
|
3 |
2 |
| 39 | 39
|
3 |
2 |
+----+---------+-------------+--------+
3 rows in set (0.00 sec)
mysql>
select @@tx_isolation;
+-----------------+
| @@tx_isolation
|
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)
mysql> explain
select * from t200 where phoneNo between 30 and 40 for update;
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key
| key_len | ref
| rows | Extra
|
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
|
1 | SIMPLE
| t200
| ALL
| t200_idx1
| NULL | NULL
| NULL |
34 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
Session 2:
mysql>
insert into t200 values(29,29,4,1);
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
mysql>
insert into t200 values(100,100,4,1);
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
mysql>
insert into t200 values(1000,1000,4,1);
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
mysql>
insert into t200 values(1000,1000,4,1);
最后
以上就是调皮大白为你收集整理的mysql 有索引没走索引 更新锁全表的全部内容,希望文章能够帮你解决mysql 有索引没走索引 更新锁全表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复