update语句没有用到主键索引会带来的问题

news2024/9/24 11:20:35

准备材料

建一张表,数据列不建立索引。并写入1万条数据

CREATE TABLE `identity`.`t2` (
  `id` INT NOT NULL COMMENT 'Id',
  `a` INT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_a` (`a`)
);

delimiter //
create procedure gen_data()
begin
declare i int default 0;
set i=0;
start transaction;
while i<10000 do
insert into t2(a) values(i);
set i=i+1;
end while;
commit;
end;
//
delimiter ;

call gen_data();

我的MySQL版本

Your MySQL connection id is 9
Server version: 5.7.43 Homebrew

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

实验步骤

我用的是mysql 客户端,首先在客户端禁掉自动提交事务

set autocommit = 0;

执行update语句,where条件不会命中索引

begin;
update t2 set a =1 where a = 1;

查看innodb 引擎状态,发现刚刚提交的事务锁了23条记录。

SHOW ENGINE INNODB STATUS \G;

在这里插入图片描述

打开一个新的session。mysql客户端开了一个session,这个session获取了t2表的锁

mysql -u root -p

在这里插入图片描述
a < 1000时,需要等待锁释放,a > 1000时,可以执行成功。说明只是锁了部分记录,并未锁全表。

– 查看正在锁的事务
select * from information_schema.innodb_locks;

在这里插入图片描述
发现innodb锁了7号page的数据

附录

一些分析锁的常用mysql命令

– 查询线程执行情况
SELECT * FROM performance_schema.threads 
– 查看当前所有事务
select * from information_schema.innodb_trx;
– 查看正在锁的事务
select * from information_schema.innodb_locks;
– 查看等待锁的事务
select * from information_schema.innodb_lock_waits;
– 查看表锁
show open tables where In_use>0;
–查看死锁
show engine innodb status- 超时时间查看
SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1079537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2021-07-31 - 需要打印出来的图表 - 含各种机制

1.应用场景 主要用于帮助自己记住知识点&#xff0c;能随时记起&#xff0c;有时候就是要记住&#xff0c;每次靠查询是不可靠的&#xff5e; 2.学习/操作 1.文档阅读 08 | 数据库优化方案&#xff08;一&#xff09;&#xff1a;查询请求增加时&#xff0c;如何做主从分离&a…

0基础学习VR全景平台篇 第107篇:全景图调色和细节处理(上,地拍)

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 今天教给大家的课程是地拍全景图调色和细节处理&#xff0c;下面我们就开始吧&#xff01; 1.把照片快速导入LR软件 选择【图库】模块 打开软件后&#xff0c;点击【导入】按…

制造业进销存管理怎么做?

进销存是什么&#xff1f;生产制造业如何进行进销存管理&#xff1f;制造进销存都能为企业提供什么&#xff1f;进销存管理系统的优势&#xff1f;本文将带大家深入浅出的聊聊制造进销存&#xff0c;全面剖析制造进销存的前世今生。 接下来我会通过一些例子为大家深入浅出的讲…

Java架构师缓存架构设计

目录 1 导学2 高性能概述3 多级缓存设计4 缓存技术方案5 如何进行缓存拆分6 缓存持久化和集群1 导学 本章的主要内容呢是大型系统架构设计难点之一的高性能。它里面的缓存架构设计相关的一些知识,落到项目上,就是订单系统的高性能缓存架构设计。在本章学习当中,首先我们会去…

压铸机泵控比例PQ阀放大器

比例PQ阀是电液比例一压力流量复合阀&#xff0c;它能够对执行元件&#xff08;液压缸或液压马达&#xff09;的不同工作状态进行速度和输出力或力矩进行比例控制。它是一种新型的节能型复合阀&#xff0c;既能实现具有确定增益系统的开环控制&#xff0c;又能实现自调整的闭环…

户外led显示屏中的裸眼3D效果是怎么做出来的?

近几年&#xff0c;裸眼3D成了一个热点词汇&#xff0c;但凡它出现的地方都会迅速成为网络热门话题和网红打卡点。裸眼3D大屏凭借其立体逼真的画面显示效果&#xff0c;带给人们新颖震撼的视觉体验&#xff0c;不仅成为户外广告的“新宠”&#xff0c;还成为了城市的新地标&…

红队专题-Cobalt strike 4.x - Beacon重构

红队专题 招募六边形战士队员重构后 Beacon 适配的功能windows平台linux和mac平台C2profile 重构思路跨平台功能免杀代码部分sysinfo包packet包config.go命令的执行shell、run、executepowershell powerpick命令powershell-importexecute-assembly 堆内存加密字符集参考链接 招…

STM32使用HAL库驱动TA6932数码管驱动芯片

TA6932介绍 8段16位&#xff0c;支持共阴共阳LED数码管。 2、STM32CUBEMX配置引脚 推挽配置即可。 3、头文件 /******************************************************************************************** * TA6932&#xff1a;8段16位数码管驱动 *******************…

【AI视野·今日CV 计算机视觉论文速览 第264期】Tue, 10 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Tue, 10 Oct 2023 (showing first 100 of 188 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers FLATTEN: optical FLow-guided ATTENtion for consistent text-to-video editing Au…

盲盒商城源码 盲盒开箱源码 潮物盲盒商城源码 仿CSGO盲盒开箱源码

百度seo的要求对于网页内容的伪原创是相对严格的,需要进行一定的修改使其符合百度seo的标准 根据您的要求,我们将对后面的这段话进行伪原创修改,只修改文字符号,不对字数进行调整: 盲盒商城源码、盲盒开箱源码、潮物盲盒商城源码、仿CSGO盲盒开箱源码 带有Vue源代码,前端…

睿趣科技:抖音开网店怎么开通

在当前的数字时代&#xff0c;电子商务已经成为一种主流的商业模式。抖音作为中国最大的短视频平台&#xff0c;也提供了这种能力&#xff0c;让商家能够在平台上开设自己的网店。那么&#xff0c;如何在抖音上开通网店呢?下面是详细的步骤&#xff1a; 注册抖音账号 首先&…

BCYD-A10-33-L85、BCYD-A16-21-S150电比例先导阀放大器

BCYD-A16-31-L150、BCYD-A10-33-L85、BCYD-A16-21-S150、BCYD-A25-23-L320是先导式电液比例换向阀&#xff0c;导阀和主阀都没有阀芯位置反馈&#xff0c;通过比例电磁铁驱动作为功率级的先导阀芯工作。此类阀工作时是通过电子放大器提供功率级的先导阀比例电磁铁的驱动电流&am…

项目1-基于STM32制作T12洛铁(更新中)

视频补充处&#xff08;待补充。。。。&#xff09; 一、简介 当使用STM32来制作T12型号的烙铁&#xff0c;并集成OLED-0.96寸显示器时&#xff0c;你将进入一个令人兴奋的嵌入式系统开发领域。这个项目将涉及硬件和软件的复杂工作&#xff0c;以实现一个功能强大的烙铁控制器…

交流回馈老化测试负载的应用

交流回馈老化测试负载的应用非常重要&#xff0c;老化测试是一种对产品进行长时间运行和负载测试的方法&#xff0c;旨在模拟产品在实际使用中的长期稳定性和可靠性。在老化测试过程中&#xff0c;负载是指对产品施加的工作负荷&#xff0c;可以是CPU、内存、硬盘等资源的使用情…

vue3学习(四)--- watch和watchEffect监听

文章目录 watchsource侦听源不同类型侦听ref侦听reactive侦听没有响应式的数据侦听多个源 watchEffect清除副作用清除侦听flush用法 watch watch() 默认是懒侦听的初始化不触发&#xff0c;只有在侦听源发生变化时才执行回调函数。 watch的结构&#xff1a; source 侦听源call…

pandas-进阶

apply、transform 分组聚合agg

电商API接口:数据分析,代购商城建站,erp系统商品数据选品,价格监控,品牌维权,商家搬货,店铺铺货

淘宝&#xff08;1688拼多多京东等&#xff09;商品详情API接口&#xff08;item_get-获得taobao商品详情接口&#xff09;&#xff0c;淘宝API接口可获取到商品链接&#xff0c;商品ID&#xff0c;商品标题&#xff0c;商品价格&#xff0c;品牌名称&#xff0c;店铺昵称&…

基于图像识别的迁移学习之一

案例分析 加载数据部分同上一个案例&#xff0c;只需把数据输入到预训练的VGG-16或者ResNet50中。VGG-16的网络结构为右侧图绿色栏所示&#xff0c;其中block1中有2个包含64个卷积核的卷积层&#xff0c;block2包含2个128个卷积核的卷积层&#xff0c;block3有3个包含256个卷积…

SSH Tunneling隧道 - 探究与实践

1.应用场景 主要用于探究与实践SSH Tunneling隧道技术, 在日常开发中能到得心应手,提高工作效率. 2.学习/操作 1.文档阅读 chatgpt & 其他资料 Results for SSH tunneling [medium.com] The power of SSH tunneling. How it can make your developer life easier Connect…

华为、小鹏大定爆单,智驾苦尽甘来,车主终于愿意买单

‍作者|德新 编辑|王博 国庆假期结束&#xff0c;车圈的最大热点事件&#xff0c;当属问界M7卖爆&#xff0c;上市不到一个月时间内&#xff0c;狂揽5万张大定订单。 在华为手机强势回归&#xff0c;改款问界M7大热的高光之下&#xff0c;还有一个重要趋势值得关注&#xff1…