我有會產生大量矩陣的Java程序,最後我想要保存矩陣的DATABASE 'MYDATABASE'
在myMatrixTable
更好的方式插入一個矩陣到一個MySQL表
我的第一個想法是新手是
- 只是使用插入n(行)。
- 使用
StringBuilder mtrx
,讓大串的所有數據,那麼executeUpdate(mtrx.toString());
有沒有更好的方法來節省矩陣?
我有會產生大量矩陣的Java程序,最後我想要保存矩陣的DATABASE 'MYDATABASE'
在myMatrixTable
更好的方式插入一個矩陣到一個MySQL表
我的第一個想法是新手是
StringBuilder mtrx
,讓大串的所有數據,那麼executeUpdate(mtrx.toString());
有沒有更好的方法來節省矩陣?
如果矩陣非常大,另一種選擇是將其寫入文件,然後使用LOAD DATA INFILE
語法將其加載到數據庫。這爲大量數據提供了更好的性能。
在這裏看到手冊:http://dev.mysql.com/doc/refman/5.1/en/load-data.html
編輯: 如果矩陣小(不是很多行),我會去的第一個選項,遍歷行和使用INSERT
,這是方式更優雅和可讀性比第二個選項。
您以「if」開始您的答案。 'else'情況如何?但是:+1 – 2011-04-15 20:46:48
@Martijn - 謝謝Martijn!還添加了其他情況:) – Galz 2011-04-15 20:55:55
如果DB僅用於矩陣存儲,爲什麼不使用BLOB字段? (例如,也可以使用二進制序列化。)當然,即使沒有「緊湊」一點,只要存儲爲text/XML/whatnot也可以工作,只要認識到沒有對矩陣進行標準化即可它實際上是不可查詢/不可索引的,這對於DB數據通常不是一個好主意:-)(有很多方法可以在Java中序列化對象) – 2011-04-15 20:43:53
你是想讓表格成爲矩陣還是試圖存儲一個完整的矩陣在數據庫表中的字段? – 2011-04-15 20:44:16
Iam試圖讓表格成爲矩陣,在第一條評論之後,這似乎不是一個好主意:) – 2011-04-15 20:46:55