2015-04-01 36 views
2

我正在使用mysql與java連接器j執行查詢。我想知道使用/不使用壓縮時返回的數據大小。
獲取從服務器傳遞給客戶端的數據總量的最佳方法是什麼?如何知道連接器j從mysql服務器返回的數據大小

我使用的作品與PreparedStatementResultSet代碼:

PreparedStatement preparedStatement = connection.prepareStatement(sql); 
rs = preparedStatement.executeQuery(); 
while (rs.next()) { 
    function.apply(rs); 
} 

我能獲得在Java中的數據量?
有沒有任何外部的方式來得到它?

+0

什麼是你提到「當我/使用它沒有壓縮」的相關性?什麼壓縮?什麼數據?你所顯示的是一個代碼片段,它可以用結果集來完成一些事情,而不是內部的特定數據。你是否可能從數據庫中拉出一些圖像? – Gimby 2015-04-01 15:45:38

+0

沒有圖像,只是字符串。壓縮是內置在連接器j中的。它是zlib壓縮。 – oshai 2015-04-01 16:54:37

回答

0

你可以把它像:

StringBuffer sb = new StringBuffer(); 

while (rs.next()) { 
    function.apply(rs); 
    sb.append(<your_data>); 
} 

double len = sb.toString().length()/1024; 
+0

我可以得到行大小嗎?以及如果它被壓縮呢? – oshai 2015-04-01 16:55:38

+0

我的意思是你需要將所有的行值作爲String添加到StringBuffer中,然後檢查它的大小 – roeygol 2015-04-01 22:39:29

相關問題