今天的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 for vista 版本的安装试试 10G和11G的 http://www.oracle.com/technology/software/products/database/index.html ------------------------------------------- ......
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBErro ......
我的处理是这样的: 我有一个很大的数据集合,处于性能方面的考虑需要使用临时表过渡,并且使用分页的方式向临时表中插入数据,数据使用完毕后,删除临时表的数据。 出现的现象:当Oracle重新启动后,第一页插入的 ......
谢谢唐人老大的指点,谢谢各位高手的指点! 安装10g Enterprise。上网下了MLDN的Oracle视频,跟着视频上的配置走,安装成功了,但是没完整地配置。 点击进入:Database Configuration Assistant 1. 创建数据库;
......
oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用MS SQL的存储过程,求解~谢谢~ 引用 oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用M ......