个人面试题(oracle数据库开发)(一)

  个人面试题-1

  2015年09月15日(上午)

1、oracle database,oracle instance 组成

2、分区表相关知识

3、大表数据查询更新

4、存储过程函数区别

5、linux下部署安装 Oracle

6、哪些条件会对是否走索引产生影响

7、函数索引的意义与创建

8、常见SQL的语法优化(select * 少用 * ) 

  --下午面试回来再细看


1、oracle database,oracle instance 组成

oracle database 由 instance+文件组成(数据文件,控制文件,redo文件) 组成

instance 由 后台进程+SGA(共享内存)组成


2、分区表相关知识

http://blog.csdn.net/dd215130268/article/details/48476463


3、大表数据的查询更新优化方法

/*
①创建分区+分区索引

*/


4、存储过程函数区别

存储过程需要单独执行;

函数可以随处调用。

返回值方面 in out  return


5、linux下部署安装 Oracle

需要事后操作了。


6、哪些条件会对是否走索引产生影响

①列中存在null值

②查询结果较多,CBO判断用full table scan

③like '%aa%'  前面百分号不行

④对索引列进行函数处理(需要创建函数索引)


7、函数索引的意义与创建

对于上述问题,需要列进行函数操作,但是不走索引影响效率,可以使用函数索引

create index idx_fun on  emp (upper(ename));

select * from emp a where upper(a.ename)>'dong'; --有效



8、常见SQL的语法优化(select * 少用 * ) 

①删除数据时,可以先删除索引(DML数据) 删除或插入批量数据后重建索引
②union all 代替union all  minus + intersect  都需要排序

③in 用exits   ,exists使用的匹配即停止

④select *  少用

 用TRUNCATE替代DELETE:  需要注意数据是否已经备份或者有可能需要回退

⑥尽量多使用COMMIT:

⑦>=3 取代>2  匹配一次2


9、开发常用小注意点,自我总结

insert table (列出所用)       

pl/sql 多用 %type   row%type  不容易出错  

使用列别名


你可能感兴趣的:(Oracle问题解决)