oracle 資料庫中,應用程式裡的串連探測語句的正確使用,oracle語句

來源:互聯網
上載者:User

oracle 資料庫中,應用程式裡的串連探測語句的正確使用,oracle語句
oracle 資料庫中,應用程式裡的串連探測語句的正確使用

本文為原創文章,轉載請註明出處:http://blog.csdn.net/msdnchina/article/details/38513765

在很多程式裡邊,串連探測(或者串連檢測)語句,都是用的select sysdate from dual;
這是典型的“只要功能實現,不管效能如何”的寫法。其實,串連探測語句,應該用select 1 from dual;
也許有人說,程式員們很辛苦,能實現功能就不錯了。但是,我想說的是:換用select 1 from dual;的寫法,不需要把 exist變為多表串連,因此跟商務邏輯沒啥關係。這是舉手之勞的事情。

下面說一下 select sysdate from dual; 作為串連探測語句的害處:

1.增加資料庫的parse負擔:

這一點可以從 awr報告的“SQL ordered by Parse Calls ”可以看到。(以下基於10.2.0.5)
Parse Calls          Executions   % Total Parses     SQL Id        SQL Module         SQL Text 3000                 3000              15%          aqswdefrgthy  JDBC Thin Client   select sysdate from dual;
但是在mos文章:故障排除:Shared Pool最佳化和Library Cache Latch衝突最佳化 (Doc ID 1523934.1)上有如下的描述:
例2: 以下語句不用綁定變數但是也不會被認為是literal SQL,因為這個語句可以被多次執行共用。  SELECT sysdate FROM dual;
我的疑問是:既然說能被共用執行,為啥 Parse Calls的次數與 Executions一樣多?莫非select sysdate from dual在11g上有了改進?
回頭可以找一個11g的環境測試一下。

2.增加資料庫伺服器(即:os)的處理負擔,理由如下:
The SYSDATE and SYSTIMESTAMP function simply performs a system-call to the Operating System to get the time (a "gettimeofday" call).
以上摘自:How To Add A Day, Hour, Minute And/Or Second To A Date Value? (Doc ID 1419615.1)


Oracle 資料庫,使用SQL 的select where 語句

用的是什麼讀取命令,代碼發來看看
 
遠端連線ORACLE資料庫的串連語句,應該怎寫?

在你的電腦上安裝oracle用戶端,然後在你安裝的oracle用戶端目錄下尋找tnsnames.ora檔案,找到以後加上:
YOUR_ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TEST)
)
)
如果你的資料庫是SID為TEST,請把(SERVICE_NAME = TEST)改成(SID = TEST)
如果用SQLPLUS串連,請寫成sqlplus tzm/777@your_oracle
如果用TOAD或者其他工具串連資料庫:



 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.