SQL中delete和update后加 Limit是个好习惯

 在业务场景要求高的数据库中,对于单条删除和更新操作,在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如,在删除执行中,第一条就命中了删除行,如果 SQL 中有 limit 1;这时就 return 了,否则还会执行完全表扫描才 return。效率不言而喻。

好处

1. 降低写错 SQL 的代价,就算删错了,比如 limit 500, 那也就丢了 500 条数据,并不致命,通过 binlog 也可以很快恢复数据。

2. 避免了长事务,delete 执行时 MySQL 会将所有涉及的行加写锁和 Gap 锁(间隙锁),所有 DML 语句执行相关行会被锁住,如果删除数量大,会直接影响相关业务无法使用。

3. delete 数据量大时,不加 limit 容易把 cpu 打满,导致越删越慢。

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

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

相关文章

问题步骤记录器——“懒教师”的好帮手

场景:电话响,接通电话,电话另一端:我的电脑又怎么怎么了,为什么我的***弄不出那样的效果?请问***要怎样操作?感悟:虽然不是大虾,但由于众多同学当中,我仍然靠…

CCNA配置试验之七 PPP中PAP和CHAP的验证

PPP支持NCPC(网络控制协议)和LCP(链路控制协议)PPP的验证方式分为PAP二次握手明文传输和CHAP三次握手密文传输。试验配置PAP和CHAP的验证:试验配置如下:R1(CHAP)Router>enRouter#…

sql优化批量插入性能提升

建议批量插入 批量提交 INSERT into book VALUES(5,"A"),(6,"B");多条提交 INSERT into book VALUES(5,"A"); INSERT into book VALUES(6,"B") 理由 默认新增SQL有事务控制,导致每条都需要事务开启和事务提交&#xff0…

Unity3D学习(五):实现一个简单的视觉感知

前言 在很多第一人称或者第三人称射击游戏的单人模式中,玩家的乐趣往往来源于和各式各样的AI敌人的战斗。而战斗的爆发很多时候是因为这些AI在“看见”玩家后就会立即做出反应,比如开火、呼叫同伴、躲藏或者逃跑等。 所以这些AI到底是如何探测&#xff0…

BeanFactory中String FACTORY_BEAN_PREFIX = ““;解析

此接口定义了Bean的一些基本信息判断和获取bean比如 isSingleton isTypeMatch 还有一个需要注意的地方,看这个常量: String FACTORY_BEAN_PREFIX "&"; 如果我们在获取Bean的时候,使用&则获取的是FactoryBean本身对象,否则…

.NET Core简介

转载于:https://www.cnblogs.com/wxc-kingsley/p/7660878.html

spring中DefaultListableBeanFactory是bean加载的核心部分,是spring注册和加载bean的默认实现方式

DefaultListableBeanFactory介绍 BeanFactory是个Factory,也就是IOC容器或对象工厂,而DefaultListableBeanFactory是Bean工厂的一个默认实现,DefaultListableBeanFactory提供了原始的BeanFactory的功能,如:对外提供ge…

使用MyBatis集成阿里巴巴druid连接池(不使用spring)

在工作中发现mybatis默认的连接池POOLED,运行时间长了会报莫名其妙的连接失败错误。因此采用阿里巴巴的Druid数据源(码云链接 ,中文文档链接)。 mybatis更多数据源参考博客链接 。 1 环境 eclipse mars2 maven3.3.9 mysql5.7 2 …

docker search从Docker Hub查找(搜索)镜像

镜像搜索 docker search 名称 列表说明:NAME:镜像名(镜像仓库源的名称)DESCRIPTION:对该镜像的描述STARS:类似 Github 里面的 star,表示点赞、喜欢的意思OFFICIAL:是否 docker 官方发布AUTOMATED&#xff1…

mysql求差集

mysql怎么求差集? mysql如何查询两个字段数不同的表中数据不一致的记录 一般可用NOT EXISTS(非存在子句)或 LEFT JOIN左(右)连接后所产生空字段值来筛选两表的差集 classinfo表 student表 1、NOT EXISTS not exists在比对字段…

html5表单实现简单计算器

html5表单实现简单计算器 <!DOCTYPE html><html><head> <title>this is a html page</title></head><body> <form οninput"res.value n1.valueAsNumber * n2.valueAsNumber"> <input type"number" …

python学习笔记(15)循环设计

python学习笔记&#xff08;15&#xff09;循环设计 原链&#xff1a;http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html 注意&#xff1a;zip()在python2 3里面不一致 #第15讲 循环设计#循环在前面是有学习的&#xff0c;简单的循环for i in range(10):print (i*…

docker search 镜像关键词

查找镜像 docker search 镜像关键词 比如我要搜索nginx docker search nginx 参数说明&#xff1a; NAME: 镜像仓库源的名称 DESCRIPTION: 镜像的描述 OFFICIAL: 是否 docker 官方发布 stars: 类似 Github 里面的 star&#xff0c;表示点赞、喜欢的意思。 AUTOMATED: …

005-JQuery之CSS

CSS位置尺寸CSS css(name|pro|[,val|fn]) &#xff1a;访问匹配元素的样式属性示例&#xff1a; 1 // 获取color样式属性的值 2 $(p).css("color"); 3 // 将所有段落的字体颜色设为红色并且背景为蓝色 4 $("p").css({ color: "#ff0011", backgro…

扩展巴科斯范式

2019独角兽企业重金招聘Python工程师标准>>> 扩展巴科斯范式 维基百科&#xff0c;自由的百科全书 扩展巴科斯-瑙尔范式(EBNF)是表达作为描述计算机编程语言和形式语言的正规方式的上下文无关文法的元语法符号表示法。它是基本巴科斯范式(BNF)元语法符号表示法的一种…

20100519 学习记录:asp CreateFolder/上传附件

新增一个上传附件的功能。在网上找了一下&#xff0c;基本都是在化境HTTP上传程序基础上改的&#xff0c;灰常感谢这个源代码的开发者&#xff0c;深深鞠躬。不过这个代码要求在上传图片时&#xff0c;输入的文件夹必须是已存在的文件夹&#xff0c;不然就会出错&#xff0c;于…

删除容器docker rm和强制删除容器docker rm -f

显示所有容器 docker ps -a删除容器&#xff0c;运行中的容器不行 docker rm 容器id强制删除容器&#xff0c;运行中的容器也是可以删除的 docker rm -f 容器iddocker rm 删除运行中的容器会报错 Error response from daemon: You cannot remove a running container 8c03b6c4d…

Exchange2007 从零到入门(2)---收件人管理

Exchange2007 从零到入门---收件人管理在上一次的文章中讲到了如何为企业部署安装exchange2007服务器。但是部署完成的服务器还并不能使用。因为现在的服务器中还没有用户。在exchange中&#xff0c;用户被称作为“收件人”&#xff0c;exchange中用户管理的主要任务就是对“收…