数据库跑了半天还没出结果怎么办?

linkboy2004 2008-06-10 08:53:53
我跑一个删除语句

delete from score
where name not in (
select name1 from user
union
select name2 from user
union
select name3 from user);

http://topic.csdn.net/u/20080608/10/fef03bac-d9ad-4fd4-a2c7-de26c20de966.html



数据库跑了半天还没出结果怎么办?CPU满的。数据库 name 2M scorce 200M 都已经一个晚上了 还没结果。。。。是不是有问题?

...全文
145 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒得去死 2008-06-13
  • 打赏
  • 举报
回复
Try


delete score as a from score as a right join (
select name1 from user
union
select name2 from user
union
select name3 from user) as b where a.name is null;
fcoolx 2008-06-11
  • 打赏
  • 举报
回复
show processlist;
看看状态,有没有lock
yifuzhiming 2008-06-11
  • 打赏
  • 举报
回复
使用not in 和union效率感觉都很慢,你可以把union后的结果导入到新表里去,然后在操作试试

delete from score s,newtable n
where s.name!=n.name1;
reality 2008-06-11
  • 打赏
  • 举报
回复
在服务器端进行这样的操作。开着就别管了。
linkboy2004 2008-06-11
  • 打赏
  • 举报
回复
up
reality 2008-06-10
  • 打赏
  • 举报
回复
不知道两个表中真实的数据量是多少?
可以把name1 name2 name3都加索引看看效果。
如果有条件的话可以这样做
1 新建一个和score 一样的数据表
2 新建一个name表 内容是name1 name2 name3的和. 就是3个字段变成一个字段,并加索引
3 insert into 新score表 (select * from score s,新name表 n where s.sorce = n.name)
ws_hgo 2008-06-10
  • 打赏
  • 举报
回复
UP
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
或者user的前5000条记录?
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
有没有办法加快速度?实在是很慢啊能不能限定一下范围 我们这里name是用数字的 还有另外的表对应。比如先限定score前20万条记录?
reality 2008-06-10
  • 打赏
  • 举报
回复
操作的次数为
srcore的条数 × 三个表中name个数。
如果数据量很大将会使用很长时间。
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
我对数据库不太懂 之前是别人维护这个库的 没搞好。。。现在郁闷死了。我
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
语句没有问题 我自己搞了单条记录执行正常删除了。我现在想是不是只检查score的前10W记录 或者 user的前1000条记录 因为也就以前的删除了user帐号 基本后面的还没删除就发现数据库跑起来吃力了。
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复

delete from score
where name not in (
select distinct name1 from user
union
select distinct name2 from user
union
select distinct name3 from user);

这样也一样
linkboy2004 2008-06-10
  • 打赏
  • 举报
回复
因为感觉现在数据库有点卡了 以前没做好 有些数据没清除 怀疑数据过多影响服务器性能
lifanfly 2008-06-10
  • 打赏
  • 举报
回复
先单步执行看看效果,然后在整合执行看看,如果有问题就好好查查问题处在什么地方,如果没有问题的话那就好好看看的sql语句有没有问题,我的经验有一次使用text字段排序就造成了速度慢,后来改了就没有问题了。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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