Oracle面試題

 

0.綁定變量的優缺點及使用場合分別是什麼?數據庫

 

優勢:可以避免SQL的硬解析以及與之相關的額外開銷(SQL語法、語義的分析、邏輯分析、生成較佳的執行計劃等開銷),提升執行效率。緩存

缺點:若是在表存在數據傾斜、數據分佈不均勻列上使用綁定變量,會形成優化器忽略其具體值,致使生成錯誤低效的執行計劃,下降執行效率。函數

使用場合:性能

OLTP(Online transaction processing聯機事務處理)系統:在OLTP系統中SQL語句重複執行頻度高,但處理的數據量較少,結果集也相對較小,尤爲是使用表上的索引來縮小中間結果集,其解析時間一般會接近或高於執行時間,所以該場合適合使用綁定變量。優化

OLAP(Online analytical processing聯機分析處理)系統:在OLAP系統中,SQL語句執行次數相對較少,但返回的數據量較大,所以多數狀況下傾向於使用權標掃描更高效,其SQL語句執行時間遠高於其解析時間,所以使用綁定變量對於總響應時間影響不大。並且增長生成低效執行計劃的風險。即在OLAP系統中使用字面量的性能高於使用綁定變量。spa

 

1.Oracle數據庫中使用(length())函數「返回字符串長度」,使用(UPPER())函數「將全部字符變爲大寫」,使用(SUBSTR())函數「截取字符串」,使用(TO_CHAR())函數「將數據類型轉換爲字符型」,使用(SYSDATE)函數「獲取當前數據庫時間」,使用(select * from v$version;)函數「查看數據庫版本」code

 

2.Oracle數據庫中SEQUENCE是什麼?請編寫創建SEQUENCE的語句。對象

 

Oracle提供了SEQUENCE對象,由系統提供自增加的序列號,一般用於生成數據庫數據記錄的自增加主鍵或序號的地方。blog

 

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;

相關文章
相關標籤/搜索