我懷疑是否可以在我的應用程序中使用外部表(Oracle),而不實際在數據庫中創建實際表。我打算做的是我有一個.txt
(大約25 GB)的文件,我想直接在我的.txt
文件上運行SQL
查詢,而無需在實際的數據庫表中創建和加載數據。所以,我的問題是這是否可能,如果是的話,那麼這樣做的缺點和好處是什麼。任何幫助,高度讚賞。可以將外部表用作普通數據庫表(Oracle)
1
A
回答
3
這是可能的,但外部表的主要缺點是你不能在這樣的表上創建任何索引,所以選擇數據可能會很慢。 閱讀this。
2
您可以應用並行查詢,但當然不能創建索引或修改數據,或者收集一整套統計數據(您可以使用DBMS_STATS.GATHER_TABLE_STATS收集一些統計數據,這可能有助於Oracle確定最佳連接策略)。
如果文件在邏輯上被拆分成多個文件,以便您可以告訴1月份的數據位於特定的文件中,那麼您當然可以擁有多個外部表格,並且可能有一些幻想來仿效分區視圖,但它可能是疼痛。
真的你應該加載數據。如果性能是一個問題,那麼使用表中已經定義了索引的直接路徑nologging加載 - 如果介質出現故障,您仍然可以重新加載數據,以便日誌記錄是可選的。
相關問題
- 1. 如何通過Oracle ADF將數據從Excel工作表導入數據庫表?
- 2. 保護Oracle外部表數據文件
- 3. Oracle數據庫 - 使用外部Java
- 4. 是否可以通過SharePoint聯機和外部數據庫oracle實現BCS?
- 5. 我可以使用普通SQL在我的數據庫(Oracle)中有一個互斥表嗎?
- 6. 用外部表連接數據庫
- 7. 如何在Oracle 10g數據庫中將Visual FoxPro數據庫作爲外部表讀取?
- 8. 是否可以使用ADO.NET鎖定Oracle 10g數據庫表?
- 9. CouchDB和PouchDB普通用戶可以創建數據庫
- 10. 什麼時候我們可以使用Oracle外部表
- 11. 數據庫「超級」對比更多的表vs普通表
- 12. Oracle數據庫錶行數
- 13. 將數據從外部表複製到數據庫
- 14. 將xml導入到oracle數據庫表
- 15. 將Oracle表移動到Postgres數據庫
- 16. 谷歌應用程序引擎可以連接到外部oracle數據庫嗎?
- 17. 如何從oracle表導出數據並將相同的內容導入到外部數據庫的表中?
- 18. MySql - 連接到外部數據庫表
- 19. 我可以在Django中使用外部數據庫表進行登錄嗎?
- 20. 從Oracle數據庫的表
- 21. oracle XML到數據庫表
- 22. Oracle數據庫表創建
- 23. JSON到Oracle數據庫表
- 24. MySQL可以將外部數據庫複製到雲
- 25. 如何使外部參考表或數據庫可用於Hadoop MapReduce作業?
- 26. Oracle外部表日期字段 - 在一個數據庫中工作,而不在另一個數據庫中
- 27. 將普通Postgres數據庫轉換爲空間數據庫
- 28. 將普通Postgres數據庫轉換爲PostGis數據庫
- 29. 我們可以將oracle 11g dump導入10g oracle數據庫嗎?
- 30. Oracle外部表加載
相當緩慢是一個非常大的輕描淡寫。訪問25GB的.txt是...瘋狂 – Najzero
@Mikhail感謝您的意見,根據我的要求,我不會創建索引,並且表中的內容也需要刪除並經常加載新數據。所以,我想保存數據加載時間,那麼使用外部表還是一個好方法嗎?你能分享一下,它是如何與代碼語法訪問常規數據庫表不同的。 – user2002522
@ user2002522在任何地方查詢外部表時,Therw在查詢語法上都沒有區別。唯一的區別是在CREATE TABLE語句中。我認爲,您應該只測試兩種情況:將數據加載到常規表中並查詢它所用的時間以及查詢外部表所需的時間。而且,考慮到您收到的時間,請決定加載數據還是按照原樣查詢。 – Mikhail