oracle sql優化

隨風而逝,只是飄零發表於2016-04-29

1) ORACLE將執行過的SQL語句存放在記憶體的共享池(shared buffer pool)中,可以被所有的資料庫使用者共享。

當你執行一個SQL語句(有時被稱為一個遊標)時,如果它和之前的執行過的語句完全相同, ORACLE就能很快獲得已經被解析的語句以及最好的 執行路徑. 這個功能大大地提高了

SQL的執行效能並節省了記憶體的使用

2)Oracle只對簡單的表提供高速緩衝(cache bufferiIlg),這個功能並不適用於多表連線查詢。

3)sql共享的3個條件:

1.當前被執行的語句和共享池中的語句必須完全相同 (包括大小寫、空格、換行等)

2.兩個語句所指的物件必須完全相同 (同義詞與表是不同的物件)

3.兩個SQL語句中必須使用相同的名字的繫結變數(bind variables)

例如:PreparedStatement pstmt = conn.prepareStatement("select hisal from salgrade where grade=?"); 這個就是繫結變數

相關文章