2010-05-10 109 views
2

我們在Oracle 10g中使用utl_file將blob從錶行複製到文件系統上的文件,當我們調用utl_file.fclose()時,需要很長時間。這是一個10MB的文件,不是很大,完成需要一分多鐘。任何人都知道爲什麼會這麼慢?utl_file.FCLOSE()對於大文件很慢

感謝

編輯 看起來這是關係到我們的文件系統。當我們寫入本地驅動器時,它工作正常。

回答

2

我們確定這是我們的網絡文件系統掛載導致的問題。當我們從問題中刪除並將文件存儲到本地驅動器時,它工作正常。我們可以在具有相同配置的另一個環境中測試此功能,並且速度很快,並按預期工作。

現在我們需要讓我們的網絡人員參與並瞭解爲什麼在NFS環境中傳輸數據的速度非常緩慢。

編輯 這是Oracle服務器和UNIX服務器之間的網絡速度。它被設置爲每秒半雙工10Mb。所以我們把它弄到全雙工100Mb,現在它工作的很好!

1

在此之前你正在做fflush嗎?如果沒有,那麼fclose會爲你執行fflush,那可能是時間。通過在關閉前發出fflush來檢查它。