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,一经查实,立即删除!

相关文章

一个javascript框架应有的功能

一个人学许多东西,不等于他会很多东西,学了也会忘的,学了也不等于会运用,这时我们应该整一个很复杂的东西出来,那么就知道自己到底去到什么程度。基于这样的理由,我开始搞框架了,像我群里面的许…

appcan UI

appcan UI 公共类 ([appcanUI框架地址:](http://newdocx.appcan.cn/UI/source) .ub {display: -webkit-box !important;display: box !important;position: relative; }.ub-rev {-webkit-box-direction: reverse;box-direction: reverse; }.ub-fh {width…

sql表字段类型尽量使用数值替代字符串类型

尽量使用数值替代字符串类型 比如性别(sex):0代表女,1代表男;数据库没有布尔类型, mysql 推荐使用 tinyint 1:因为引擎在处理查询和连接时会逐个比较字符串中每一个字符; 2:而对于数字型而言只…

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

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

问题账户需求分析

材料: 某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题。她每周都收到一份过期未付款的账户名单。这份报告已经从两年前的250个账户增加到现在的1250个账户。为了确定那些严重拖欠债务的账户,Liz需要通读这份报告。严重拖欠债务的账户由几个不同…

SQL优化技巧使用varchar代替char

一:varchar 变长字段按数据内容实际长度存储,存储空间小,可以节省存储空间; 二:char 按声明大小存储,不足补空格; 三:其次对于查询来说,在一个相对较小的字段内搜索&am…

显式调用构造函数产生的悲剧

昨天一个同学让我帮他调试程序,发现一个诡异的问题,明明一个类的私有成员被赋值了,但运行时却总是不定的值。仔细检查了好久,才发现原来他把构造函数当作普通函数进行了显式调用,结果产生了悲剧。将他的问题简单的抽象…

input输入框修改后自动跳到最后一个字符

<input class"m-form-control" onpaste"return false" placeholder"直播间名称" name"name" onkeyup"this.valuethis.value.replace(/[^\u4e00-\u9fa5|\u0000-\u00ff|\u3002|\uFF1F|\uFF01|\uff0c|\u3001|\uff1b|\uff1a|\u300…

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

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

sql优化批量插入性能提升

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

2017.10.13java上机出现中的问题

此篇博文主要说明在这次上机中遇见的问题和解决方法。 实验一&#xff1a;计算机计算组合数 问题1&#xff1a;在递推的方法用杨辉三角计算中&#xff0c;我创建了二维数组&#xff0c;但二维数组的行和列数并不是m&#xff0c;而是m1&#xff0c;因为杨辉三角的第一行只有一个…

重装系统

终于重装了系统&#xff0c;装了几个软件还比较满意 一个没有广告的迅雷qq终于可以打开网页了完美解码可以硬解转载于:https://www.cnblogs.com/jetz/archive/2010/04/18/1714847.html

sql优化索引不宜建太多,一般5个以内

索引不宜太多&#xff0c;一般5个以内 索引并不是越多越好&#xff0c;虽其提高了查询的效率&#xff0c;但却会降低插入和更新的效率&#xff1b;索引可以理解为一个就是一张表&#xff0c;其可以存储数据&#xff0c;其数据就要占空间&#xff1b;索引表的数据是排序的&…

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

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

BeanFactory中String FACTORY_BEAN_PREFIX = ““;解析

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

.NET Core简介

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

Mysql数据库的瓶颈处理一点建议

Mysql数据库的瓶颈处理一点建议我们在使用Mysql数据库是常见的两个瓶颈是CPU和I/O的瓶颈&#xff0c;CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈的出现呢发生在装入数据远大于内存容量的时候&#xff0c;如果应用分布在网络上&#xff0c;那么…

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

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

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

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

捣鼓了一个月的SharePoint

从7月底到现在&#xff0c;对SharePoint有了比较大概的理解。除了文档管理、搜索功能&#xff0c;它的整合能力很强。由于我们缺少人手、理解有限&#xff0c;有没有这方面的专家愿意兼职有关SharePoint开发&#xff1f;请联系 towangjinshenghotmail.com私事&#xff1a;由于我…