longja 发表于 2010-7-26 22:25:54

一道数据库的面试题,有兴趣的朋友进来看看

oracle数据库,test里有100万条数据,请问你如何一次删除?注:请考虑安全性

wangjun203 发表于 2010-7-26 22:35:50

坐等答案。。。。:lol

yzhou411 发表于 2010-7-26 23:37:59

没其它上下文啦?

test表与其它表的关联性等啥都没有吗?

yzhou411 发表于 2010-7-26 23:58:59

这个大表的删除应与性能有关吧,truncate要比delete来得快

longja 发表于 2010-7-27 00:16:35

原帖由 yzhou411 于 2010-7-26 23:37 发表 http://bbs.51testing.com/images/common/back.gif
test表与其它表的关联性等啥都没有吗?


这是原题,没有说其它关联性的东东。

julioguo 发表于 2010-7-27 00:18:17

支持楼上的truncate,
我删除过40W条的数据

lxone 发表于 2010-7-27 09:49:29

truncate table test

yzhou411 发表于 2010-7-27 22:15:29

注:请考虑安全性

仅删除数据而言,应该是用delete / truncate,但题目有 “注:请考虑安全性”,所以还是老老实实地用 delete * from test 好,因为错了还能rollback,尽管这里性能上不如 truncate。

路口小丫 发表于 2010-8-6 16:50:28

我也觉得用delete比truncate要好。

原点 发表于 2010-8-7 14:51:20

原帖由 yzhou411 于 2010-7-27 22:15 发表 http://bbs.51testing.com/images/common/back.gif
仅删除数据而言,应该是用delete / truncate,但题目有 “注:请考虑安全性”,所以还是老老实实地用 delete * from test 好,因为错了还能rollback,尽管这里性能上不如 truncate。
::xxrk:::

mr.bee 发表于 2010-8-8 13:11:03

要安全那就只好牺牲速度了。

lihuanxyhx 发表于 2011-7-22 02:27:41

回复 8# yzhou411


    他是要删了又不是修改 回滚做什么?
页: [1]
查看完整版本: 一道数据库的面试题,有兴趣的朋友进来看看