2013-02-12 84 views
0

如果列中包含壓縮的XML,是否可以使用db2表的內容對列進行查詢?訪問已壓縮的XML數據

如果是這樣,將一個簡單的例子是什麼呢?

也就是說,給定一個表:

| id | zipped_content 
| 0 | some zipped content here that was once xml 

在壓縮的內容如下:

<animals> 
    <cat> 
     <name>fluffy</name> 
     <age>12</age> 
    <cat> 
    <dog> 
     <name>snoopy</name> 
     <age>32</age> 
    <dog> 
</animals> 

我可以運行一個查詢,將對於給定的ID拔出從某些數據zipped_content?

也就是說,只得到每個動物的名字和年齡?這與xml db2的東西有點棘手 - 但大概你會得到我的漂移。我可以解壓縮然後使用表格的東西,或者是不可能的?

回答

0

你可以,但性能絕對會殺死你的應用程序。您無法真正在壓縮的XML結構上使用索引。而且,解壓縮需要臨時的內存空間,你也需要考慮緩存。

爲什麼要壓縮XML?說實話,我可以想到很少有正當理由。

如果運送了一些REST API或相似的,只是確保你的Web服務器將採用放氣或gzip和不失太多的表現,你會到達壓縮。

如果你想節省空間,只是要求DB2 to compress the table你。

如果出於某種奇怪的其他要求,同時存儲壓縮和解壓的版本。當另一個被更改時使用觸發器來更新另一個。

如果你真想走過去使用壓縮領域,你或許應該的stored procedures和SQL查詢相結合做到這一點。您可能想要開發一個壓縮/解壓縮過程並將其與使用臨時表結合起來,或者開發一個過程來完全處理您的查詢 - 或者兩者的組合。是的,需要C/C++/Java開發。