一 案例1 关联更新、删除
1.1 数据内容
1.表结构
CREATE TABLE `tb_crawl` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`group_name` varchar(255) DEFAULT NULL,
`group_unit` varchar(255) DEFAULT NULL,
`device_code` varchar(255) DEFAULT NULL,
`device_name` varchar(255) DEFAULT NULL,
`point_code` varchar(255) DEFAULT NULL,
`state` int(5) DEFAULT '0',
`desc` varchar(255) DEFAULT NULL,
`ptype` varchar(255) DEFAULT NULL,
`paixu` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12743 DEFAULT CHARSET=utf8;
2.表内容

1.2 常规编写的sql
1.sql语句
desc
update tb_crawl set state=1 where id in(
select id from (
select id,state from tb_crawl where group_unit=2 and state not in(1) order by device_code
)as t
)
2.查看执行效率

文章讨论了在数据库表tb_crawl中,通过优化SQL语句来提高更新操作的效率。原始SQL语句在执行时出现了usingfilesort的问题,导致潜在的慢查询。通过改写SQL,利用子查询并联接表,优化后的查询耗时显著降低,从0.032s降至0.015s,从而提高了数据库性能。
最低0.47元/天 解锁文章
1090

被折叠的 条评论
为什么被折叠?



