我正在使用Snappy-java來編碼JSON數據,我想將結果存儲在數據庫中的varchar列中。
該數據庫是一個具有ISO-8859-1編碼的oracle數據庫。
我在插入數據時遇到編碼問題。似乎某些字符不被Oracle識別。在varchar列中存儲活潑的編碼數據
在插入壓縮數據之前,我找到了一個解決方法,在壓縮數據上使用Base64編碼。然後我就可以找回它就好:)
的問題,那就是Base64編碼增加了數據,我再存儲,特此減少與斯納皮所節省的長度...
所以我的問題是:我怎樣才能存儲這些數據,而不用在Base64中進行編碼? 我想使用varchar的原因是因爲我希望能夠使用oracle索引訪問表而無需訪問表(性能肯定是問題)。
我也嘗試過其他壓縮算法,但它們似乎都有同樣的問題。 我也看過yEnc,但找不到任何java編碼器。此外,我不確定我是否瞭解與yEnc一起列出的所有問題,所以我有點不情願使用它。
非常感謝您的幫助!
您是否試圖索引包含二進制數據的列?聽起來你的設計有問題。您將不得不放棄壓縮或索引。 – 2012-07-27 15:26:47