sql 删除重复数据性能比较

xuxubaby 2011-03-21 09:21:27
--2(速度第二)
delete m from tb_toupiao1 m where id not in
(select min(id) from tb_toupiao1 group by convert(varchar(16),addtime,120),usid,ptid)

--3(速度第三)
delete from tb_toupiao2 where id not in
(select min(id) from tb_toupiao2 group by convert(varchar(16),addtime,120),usid,ptid)

--1(速度第一)
delete m from tb_toupiao3 m where id not in
(select min(id) from tb_toupiao3 n where m.addtime = n.addtime and m.usid = n.usid and m.ptid=n.ptid )

如上sql,都是删除重复记录的sql,但是执行起来速度却相差很大,哪位仁兄来解释下啦。谢过 ~
...全文
156 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxubaby 2011-03-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/y_h_t/archive/2010/12/05/6055677.aspx
O爱咋咋地O 2011-03-21
  • 打赏
  • 举报
回复
addtime字段为什么要convert呢
xuxubaby 2011-03-21
  • 打赏
  • 举报
回复
1:
delete m from tb_toupiao1 m where id not in
(select min(id) from tb_toupiao1 group by convert(varchar(16),addtime,120),usid,ptid)

2:
delete from tb_toupiao2 where id not in
(select min(id) from tb_toupiao2 group by convert(varchar(16),addtime,120),usid,ptid)

上面的第一条sql是加了个临时表吧,加这个有什么作用呢?

中国风 2011-03-21
  • 打赏
  • 举报
回复
2/3應該沒區別,樓主可以多測幾下,會發現速度有小變化

1在條件里

m.addtime = n.addtime and m.usid = n.usid and m.ptid=n.ptid

性能是一定會快很多

區別方法,把三個查詢改為Select查看執行計劃就可看到
xuxubaby 2011-03-21
  • 打赏
  • 举报
回复
sql 执行计划怎么看呢,本人sql很菜,望指教 ~
王向飞 2011-03-21
  • 打赏
  • 举报
回复
2 3 一种写法

1 联合查询,用到了索引
Rotel-刘志东 2011-03-21
  • 打赏
  • 举报
回复
看一下执行计划不就清楚了
通过慢sql分析的学习,了解什么是慢sql,以及慢SQL会引起那些性能问题。清楚慢sql日志的设置,然后再通过慢sql分析工具的学习,清楚慢sql分析的步骤和流程。慢sql分析工具:mysqldumpslow工具、explain工具、profile工具、Optimizer Trace工具。 提供课程中所使用的sql语句。 课程内容:第一章:课程简介1、课程介绍2、课程大纲 第二章:慢sql简介1、慢sql简介2、慢sql会引起的问题 第三章:慢日志的设置1、慢sql的分析流程2、慢日志参数理解3、慢日志参数设置:第1种方式:my.ini文件设置4、慢日志参数设置:第2种方式:sql脚本设置5、慢日志参数设置-效果验证 第四章:如何发现慢sql1、如何发现慢sql:第1种方式:慢日志文件2、如何发现慢sql:第2种方式:mysql库的slow_log表 第五章:慢sql分析工具1、慢sql提取-mysqldumpslow工具-使用方法2、慢sql提取-mysqldumpslow工具-操作实战3、慢sql的执行计划分析-explain分析-执行计划结果说明4、慢sql的执行计划分析-explain分析-索引介绍+type类型举例5、慢sql的资源开销分析-profile分析-分析步骤6、慢sql的资源开销分析-profile分析-show profile执行阶段说明7、慢sql的资源开销分析-profile分析-完整列表说明+操作实战8、慢sql的跟踪分析-Optimizer Trace分析-分析步骤9、慢sql的跟踪分析-Optimizer Trace表的介绍10、索引失效场景举例 第六章:慢日志清理1、慢日志清理

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧