我想到了這個解決方案:從Web服務獲取數據,插入表中,然後與其他表連接,但這會影響性能,此後,我必須刪除所有這些數據。 還有其他方法可以做到這一點嗎?如何通過一個sql表加入從Web服務返回的記錄集
回答
您不從Web服務返回記錄集。 HTTP對你的數據庫或結果集一無所知。
HTTP請求和響應是字符串。您必須解析出數據,將其轉化爲查詢並對其進行處理。
性能很大程度上取決於諸如在WHERE子句中具有適當索引的列,查詢的性質以及許多您在此未提供的細節。
這聽起來像是「客戶端與服務器」的經典案例。爲什麼不寫一個存儲過程來完成數據庫服務器上的所有工作?您正在描述將大量數據帶入中間層,操縱它,放回並刪除它的許多工作?我會弄清楚如何讓數據庫做到這一點。
不,你並不需要保存任何東西到數據庫中,有許多方法,以XML來錶轉換,但不保存到數據庫
例如Oracle數據庫可以使用的XMLTable /的XMLType/XQuery的/ dbms_xml 到XML結果轉換從Web服務到表,然後在查詢
例如使用它:
,如果你使用Oracle 12c中您可以使用JSON_QUERY:Oracle 12С JSON
的XMLTable:oracle-xmltable-tutorial
是常見的考慮有一個三層結構的應用程序:用戶界面,「商業邏輯」 /中間件和後臺數據管理。從Web服務中提取記錄並(暫時)將它們插入到SQL數據庫中的表中的想法具有一些優點,因爲您希望執行的「連接」可以在SQL中快速實現。
Oracle(與其他SQL DBMS一樣)功能temporary tables僅針對這些任務進行了優化。
但是,考慮到您對性能的擔憂,這可能不是最好的方法。假設您的「中間件」層是使用Java編寫的,並且給定了問題上的標籤,並且沒有任何明確的描述表明您可能正在嘗試雙層設計,其中用戶界面程序直接與後端數據連接管理資源。
鑑於您對Oracle產品的明顯投資,您可能會發現將Oracle Middleware元素合併到您的設計中是值得的。特別是Oracle Fusion Middleware承諾實現Web服務和數據庫之間的「數據集成」。
- 1. 使用Web服務返回記錄集
- 2. 從兩個表返回的數據集返回過濾記錄
- 3. 如何通過寧靜的web服務返回集合對象
- 4. Ext.data.JsonStore getCount()返回0記錄Web服務
- 5. 總是返回記錄SQL服務器
- 6. 如何從$ .ajax從web服務返回
- 7. 通過web服務返回linq結果
- 8. 如何從函數返回記錄集
- 9. Linq 2 SQL:通過Web服務更新記錄
- 10. SQL Server:加入兩個表並返回空記錄
- 11. SQL Server:加入三個表並返回空記錄
- 12. 如何從WCF Web服務返回XML?
- 13. 如何從Web服務返回XML
- 14. 如何從Web服務返回異常?
- 15. Web服務列表記錄
- 16. wcf服務不返回linq-to-sql表的父和子記錄?
- 17. 插入記錄從一個表到另一個和用戶data..SQL服務器
- 18. SQL - 如何避免集團經過一些記錄通過
- 19. 如何通過CRM SDK Web服務調用記錄CRM消息?
- 20. 從Web服務返回XML
- 21. 返回從JAX_WS Web服務
- 22. SQL服務器只能加入一個記錄
- 23. 從Web服務獲取返回列表
- 24. 從Web服務返回表格結構
- 25. 如何從java web服務返回數據庫結果集
- 26. SQL集團通過返回多個值
- 27. SQL從一條記錄返回多行
- 28. 如何通過AJAX調用Web服務來返回Json數據?
- 29. 如何通過Web服務返回圖像數組?
- 30. Web服務返回集合的性能
你的問題太廣泛了。 –
可以通過更明確地說明應用程序使用哪些元素來改進問題。 – hardmath