易截截图软件、单文件、免安装、纯绿色、仅160KB

今天的oracle面试题 - Oracle / 基础和管理

1、有一张表A,属性有Id ,name ,age这张表的数据量达到100万,要把所有的age都更新为age+1,请问怎么实现最高效?
高效?坐等大侠
我就会这样update table_name set num=num+1 ;

你可以回答,表设计不好,age会随着时间变化而变化,改用birthday,用date类型吧

引用
你可以回答,表设计不好,age会随着时间变化而变化,改用birthday,用date类型吧

这个是面试题,你就不要考虑设计问题了,就吧age当成个普通的int类型的列,把他全部加1。

100万也应该很快吧

update table_name set num=num+1

如果有索引,先把索引删除后

再update

最后把索引重新创建一下

因为索引对update影响很大

引用
如果有索引,先把索引删除后

再update

最后把索引重新创建一下

因为索引对update影响很大


同意这种做法...
重建索引很快...



SQL code:
--在允许的情况下可以
1、create table newA as select id,name,age+1 age from A;
2、drop table A;
3、rename newA to A;



有没有人用批量更新操作呀

为什么这样很低效?
update table_name set num=num+1

这也有搞头?
批量更新呗

设置自动提交行数,会快很多
set autocommit 1000;
update table_name set age=age+1;

dml 操作的缺点:
1、因为一次性修改的数据太多,而导致回滚段、临


相关问答:

请教一个oracle管理的问题! - Oracle / 基础和管理

服务器后台的数据库是oracle,在今天系统登录的时候报“登录不了数据库,IO异常”,结果是全公司都登不上去,我重启了一下服务器才好了,我想可能是用户并发量太大的缘故,不知道各位大虾认同不?有什么解决办法没? ......

oracle 如何调用mssql存储过程 - Oracle / 高级技术

oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用MS SQL的存储过程,求解~谢谢~
引用
oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用M ......

oracle 存储过程中应用事务的问题 - Oracle / 开发

SQL code:

CREATE OR REPLACE PROCEDURE usp_refreshTopN IS
BEGIN
--文档
INSERT INTO topnresource(resourceId,title,type,cover,brief,properUser,tag,clickAmount,createDate,topNCreateDate,organizat ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号