您所在的位置:我要求职 > 求职指南 > 这些问题,你能回答多少(1)

这些问题,你能回答多少(1)

2011-05-10 10:56 技术点亮未来 博客园 字号:T | T
一键收藏,随时查看,分享好友!

这些问题来着阿里巴巴DBA面试,你能回答多少呢?也许你能回答出来,距离DBA,你又进了一步。下面也请你来试试吧,问题后面会附上该题的一份答案,不一定完全正确,仅供参考。

AD:

编者注:这些问题来着阿里巴巴DBA面试,你能回答多少呢?也许你能回答出来,距离DBA,你又进了一步。下面也请你来试试吧,问题后面会附上该题的一份答案,不一定完全正确,仅供参考。

第一轮:SQL tuning 类

1:列举几种表连接方式

答:merge join,hash join,nested loop

2:不借助第三方工具,怎样查看sql的执行计划?

答:sqlplus、set autotrace ...、utlxplan.sql 创建 plan_table 表

3:如何使用CBO,CBO与RULE的区别?

答:在初始化参数里面设置 optimizer_mode=choose/all_rows/first_row 等可以使用 cbo。rbo会选择不合适的索引,cbo需要统计信息。

4:如何定位重要(消耗资源多)的SQL?

答:根据v$sqlarea 中的逻辑读/disk_read。以及寻找CPU使用过量的session,查出当前session的当前SQL语句,或者:监控WIN平台Oracle的运行

5:如何跟踪某个session的SQL?

答:先找出对应的’sid,serial’,然后调用system_system.set_sql_trace_in_session(sid,serial,true);参考:跟踪某个会话

6:SQL调整最关注的是什么?

答:逻辑读。IO量

7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)

答:默认的索引是b-tree。对insert的影响:分裂,要保证tree的平衡。对delete的影响:删除行的时候要标记改节点为删除。对update的影响:如果更新表中的索引字段,则要相应的更新索引中的键值。查询中包含索引字段的键值和行的物理地址。

8:使用索引查询一定能提高查询的性能吗?为什么?

答:不能。如果返回的行数目较大,使用全表扫描的性能较好。

9:Array:绑定变量是什么?绑定变量有什么优缺点?

答:通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少只有变量值不同的语句的解析。

10:如何稳定(固定)执行计划?

答:使用stored outline。

11:和排序相关的内存在8i和Arrayi分别怎样调整,临时表空间的作用是什么?

答:8i:使用sort_area_size,hash_area_size,每个session分配相同的值,不管有无使用。Arrayi:使用pga_aggregate来统一管理。临时表空间的作用:在sort_area_size中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。还有hash join不能完成的也在临时表空间中做。

12:存在表T(a,b,c,d),要根据字段c排序后取第21-30条记录显示,请给出sql

  1. select a,b,c,d from (select a,b,c,d from T order by c) where rownum<=30  
  2. minus  
  3. select a,b,c,d from (select a,b,c,d from T order by c) where rownum <=20;  
  4. 或者:  
  5. select * from (select rownum rn,a.* from (select a,b,c,d from T order by c) a )where rn between 21 and 30; 



分享到:

栏目热门

更多>>

  1. 求职的第N种途径
  2. 白领升职必知九高招

热点职位

更多>>

热点专题

更多>>

读书

Java网络编程精解
本书结合大量的典型实例,详细介绍了用Java来编写网络应用程序的技术。本书的范例都基于最新的JDK 1.5版本,书中内容包括:Java

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院