mysql delete删除速度慢_MYSQL-DELETE优化
问题现象:采用子查询的DELETE执行得非常慢,改写成SELECT后执行却很快,最后把这个子查询DELETE改写成JOIN优化过程
1.问题描述:
采用子查询的DELETE执行语句,执行效率非常慢;但把DELETE换成SELECT后,执行秒出结果,这是何故?遂查看执行计划:
可以看下执行计划,看下type类型:ALL应该是全表扫描,rows为几千万的话,所以执行效率很慢
改成SELECT后,执行计划如下变为:type=ref 基于主键的等值查询,rows为几百条,所以节省很多效率;
2.优化思路:
既然这个SQL把DELETE改成SELECT后执行效率就可以获得很大提升,除此外没特别区别,可能是查询优化器方面有些不足,导致无法直接优化,就得另想办法了。我们的思路是把基于子查询的DELETE简化改写成多表JOIN后DELETE(一般来说,子查询效率比较低的话,可以考虑改写成JOIN),多表DELETE的语法课参考:https://dev.mysql.com/doc/refman/5.7/en/delete.html#idm140469624466800,例如这样的:
DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL
mysql delete删除速度慢_MYSQL-DELETE优化相关推荐
- js delete删除对象属性,delete删除不了变量及原型链中的变量
js delete删除对象属性,delete删除不了变量及原型链中的变量 一.delete删除对象属性 function fun(){this.name = 'gg';}var obj = new f ...
- mysql表删除回滚_MySQL删除表的三种方式(小结)
drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: drop table user; truncate (table) truncate 是删除表数 ...
- mysql级联删除报1451 - Cannot delete or update a parent row: a foreign key constrain
我的解决办法是运行语句SET foreign_key_checks = 0;接触约束: 参考博客https://blog.csdn.net/u010429286/article/details/790 ...
- mysql群删除记录查询_mysql那些招:执行大批量删除、查询和索引等操作
类型:数据库类大小:1.7M语言:英文 评分:6.6 标签: 立即下载 mysql执行大批量删除 执行大批量删除的时候注意要使用上limit 因为如果不用limit,删除大量数据很有可能造成死锁 如果 ...
- mysql 非自然月统计_MySQL性能优化 — 实践篇1
点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算 ...
- mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能
MYSQL性能优化一直是个头痛的问题,目前大多都是直接把页面html静态页面或直接使用了缓存技术,下面我就mysql本身的性能优化来分享一下. 安装时优化参数配置提高服务性能 在Linux下安装Mys ...
- mysql索引 删除和创建_mysql索引和唯一索引的创建和删除
一.本机环境 二.索引的创建删除 三.唯一索引的创建和删除 一.本机环境 系统环境:linux centos 7.2 mysql版本:mysql-5.7.9 安装目录:/application/mys ...
- mysql 事务 innodb 锁表_MySQL性能优化之Innodb事务系统,值得收藏
概述 今天主要分享下Innodb事务系统的一些优化相关,以下基于mysql 5.7. Innodb中的事务.视图.多版本 1.事务 在Innodb中,每次开启一个事务时,都会为该session分配一个 ...
- mysql怎样删除上一行_mysql如何删除第一行数据
我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...
最新文章
- libcurl选项CURLOPT_WRITEDATA中的“坑”
- Python编程神器Jupyter Notebook使用的28个秘诀(附代码)
- boost::histogram::algorithm::project用法的测试程序
- C++女程序员一个人留在北京
- 八数码——路径寻找问题
- 上新啦!OpenMMLab全面更新!
- Spring(4)--- hello world实例
- Day46:数据库引擎、索引、pymysql
- PUT 还是 POST ?
- LTE 注网流程log分析
- intel服务器最新主板芯片组,Intel C200芯片组:入门级、发烧友至爱_Intel服务器主板_服务器评测与技术-中关村在线...
- BGP和BGP机房各为什么?优势在哪?
- 程序员夏天穿格子衫,那么冬天穿什么?答案扎心了哈哈哈哈
- 开启FTP的21端口
- icloud连接服务器时出现问题_iphone8 icloud连接服务器时出现问题
- c语言实现定积分运算
- 通过web修改AD账号密码(无需第三方工具)
- linux虚拟桌面设置不同的背景,虚拟桌面增强器为Windows 10中的每个虚拟桌面设置不同的壁纸 | MOS86...
- 解决使用打印机打印网页时字体颜色变淡的问题
- Improving Deep Neural Networks:Initialization and Regularization