掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
以下的文章我們主要介紹的是Oracle JDBC 的 setTimestamp 的相關(guān)的性能問題,我前兩天在相關(guān)網(wǎng)站看見Oracle JDBC 的 setTimestamp 的相關(guān)的性能問題的資料,覺得挺好,就拿出來供大家分享。

站在用戶的角度思考問題,與客戶深入溝通,找到威信網(wǎng)站設(shè)計(jì)與威信網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋威信地區(qū)。
偶然發(fā)現(xiàn)三年前的一個(gè)技術(shù)問題。當(dāng)時(shí)比較匆忙,避免掉即過去了?,F(xiàn)在 Metalink 上其實(shí)已經(jīng)把這個(gè)問題作為一個(gè) Bug 處理了。
問題描述:通過 JDBC 上來的 Java 查詢應(yīng)用,SQL 表現(xiàn)異常。表字段使用了 DATE 類型,針對(duì)該字段時(shí)間區(qū)域很小的范圍查詢(預(yù)期應(yīng)該是走 INDEX RANGE SCAN),在 SQL Map 上指定索引,發(fā)現(xiàn)無效。仍然是 FULL TABLE SCAN 。
罪魁禍?zhǔn)祝簊etTimestamp() 把值綁定為 TIMESTAMP 類型,這樣和 DATA 類型比較的時(shí)候,CBO 就會(huì)選擇全表掃描。
通過 Trace 能觀察到該異常行為。TIMESTAMP 在 Oracle JDBC 9.2.0.1 上就有了,連續(xù)幾個(gè)版本其實(shí)都有類似的問題。
解決辦法:使用 setString() 而不是 setTimestamp() 方法。
這個(gè)故事告訴我們,Oracle JDBC 其實(shí)問題挺多的。同樣,TIMESTAMP 潛在的問題也不少。
以上的相關(guān)內(nèi)容就是對(duì)Oracle JDBC 的 setTimestamp 性能問題的介紹,望你能有所收獲。
文章出自: http://www.programbbs.com/doc/3296.htm
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流