1. 程式人生 > >Oracle面試題

Oracle面試題

計劃 row IT 主鍵 數據庫數據 變為大寫 substr() 類型轉換 ESS

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面試題