码迷,mamicode.com
首页 > 数据库 > 详细

Oracle面试题

时间:2018-05-01 00:31:41      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:tar   col   适合   重复执行   ESS   nocache   高效   截取   字符   

 

0.绑定变量的优缺点及使用场合分别是什么?

 

优点:能够避免SQL的硬解析以及与之相关的额外开销(SQL语法、语义的分析、逻辑分析、生成较佳的执行计划等开销),提高执行效率。

缺点:如果在表存在数据倾斜、数据分布不均匀列上使用绑定变量,会造成优化器忽略其具体值,导致生成错误低效的执行计划,降低执行效率。

使用场合:

OLTP(Online transaction processing联机事务处理)系统:在OLTP系统中SQL语句重复执行频度高,但处理的数据量较少,结果集也相对较小,尤其是使用表上的索引来缩小中间结果集,其解析时间通常会接近或高于执行时间,因此该场合适合使用绑定变量。

OLAP(Online analytical processing联机分析处理)系统:在OLAP系统中,SQL语句执行次数相对较少,但返回的数据量较大,因此多数情况下倾向于使用权标扫描更高效,其SQL语句执行时间远高于其解析时间,因此使用绑定变量对于总响应时间影响不大。而且增加生成低效执行计划的风险。即在OLAP系统中使用字面量的性能高于使用绑定变量。

 

1.Oracle数据库中使用(length())函数“返回字符串长度”,使用(UPPER())函数“将所有字符变为大写”,使用(SUBSTR())函数“截取字符串”,使用(TO_CHAR())函数“将数据类型转换为字符型”,使用(SYSDATE)函数“获取当前数据库时间”,使用(select * from v$version;)函数“查看数据库版本”

 

2.Oracle数据库中SEQUENCE是什么?请编写建立SEQUENCE的语句。

 

Oracle提供了SEQUENCE对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方。

 

1 CREATE SEQUENCE seqTest
2 INCREMENT BY 1 -- 每次加几个
3 START WITH 1 -- 从1开始计数
4 NOMAXvalue -- 不设置最大值
5 NOCYCLE -- 一直累加,不循环
6 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

 

3.Oracle数据库中如何获取WF.TABLE_WF表中的随机记录,每次取20条,请编写语句。

 

SELECT * FROM (SELECT * FROM WF.TABLE_WF)

WHERE ROWNUM<20;

 

4.Oracle数据库中,如何将字符串“20140715 235959”转换为时间格式?

 

SELECT TO_DATE(‘2014-07-15,23:59:59‘,‘yyyy-mm-dd,hh24:mi:ss‘) FROM DUAL;

dsfdsafs

Oracle面试题

标签:tar   col   适合   重复执行   ESS   nocache   高效   截取   字符   

原文地址:https://www.cnblogs.com/denggelin/p/8975301.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!