起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 154|回复: 9

【结贴】邮件删除问题**

[复制链接]
发表于 2009-2-10 09:23:04 | 显示全部楼层 |阅读模式
想问一下  彻底删除“已删除邮件文件夹”里的邮件,是删的那几个表里的内容? 另外最近这个删除的速度特别的慢,如何解决?
回复

使用道具 举报

发表于 2009-2-10 09:42:15 | 显示全部楼层
这个楼主可以实际操作一下,看看客户端的日志,可以看到删除的是哪些表。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 10:01:03 | 显示全部楼层
我9.56开始  点邮件功能--点一个邮件---点删除----点已删除文件夹-点那个邮件点删除--提示删除我点是---卡半天然后删除了---我关闭系统

monitorlog.rar

27.97 KB, 下载次数: 37

回复 支持 反对

使用道具 举报

发表于 2009-2-11 10:32:44 | 显示全部楼层
delete from TMAILREFERENCE where ((FGUID = '452317DE39C34476A4D7137514370B3D' and UPPER(FOWNERGUID) = 'TX_GY' and FPATHGUID = 'BIZ_DELBOX')) and FCLIENTACCOUNT = 'RZPORT'



delete from TMAILCONTENT where FGUID not in (select DISTINCT FGUID from TMAILREFERENCE)


delete from TMAILSYSTEM where FGUID not in (select DISTINCT FGUID from TMAILREFERENCE)
是这3句执行慢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 10:39:25 | 显示全部楼层
delete from TMAILSYSTEM where FGUID not in (select DISTINCT FGUID from TMAILREFERENCE)

这个执行的问题 速度很慢
回复 支持 反对

使用道具 举报

发表于 2009-2-11 10:46:02 | 显示全部楼层
能否优化下?我不清楚是语句原因还是表不够优化
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 11:46:01 | 显示全部楼层
如果 我把那个sql语句换一下 行不行 你看看从哪里换?
delete from TMAILSYSTEM a where not exists (select DISTINCT FGUID from TMAILREFERENCE b where a.FGUID=b.FGUID)

这句的速度很快 ,实现功能应该和那个一样
回复 支持 反对

使用道具 举报

发表于 2009-2-11 11:55:51 | 显示全部楼层
你可以看看赋值变量的来源,修改一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 14:36:28 | 显示全部楼层
我改成这个语句 速度就可以了 就不用把那两句注释掉了  结帖把
回复 支持 反对

使用道具 举报

发表于 2009-2-12 13:59:11 | 显示全部楼层
not in 语句在子查询数据量很大的时候,最好不要用,毕竟应该尽量避免无谓的全表扫描。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 22:51 , Processed in 0.050108 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表