【问题标题】:better way to insert a matrix into a MYSQL table将矩阵插入 MYSQL 表的更好方法
【发布时间】:2011-04-15 20:39:08
【问题描述】:

我有一个 Java 程序,它会生成一个大矩阵,最后我想将该矩阵保存到 DATABASE 'MYDATABASE' 中的 myMatrixTable

我作为新手的第一个想法是

  1. 只需使用插入 n(行)。
  2. 使用StringBuilder mtrx 并使用所有数据创建大字符串然后executeUpdate(mtrx.toString());

有没有更好的方法来保存矩阵?

【问题讨论】:

  • 如果有DB只用于矩阵存储,为什么不是BLOB字段? (然后也可以使用二进制序列化,例如。)当然,即使存储为文本/XML/whatnot 也可能同样有效,即使“紧凑”一点——只要意识到没有先规范化矩阵它实际上是不可查询/不可索引的,这对于 DB 数据通常不是一个好主意 :-)(Java 中有很多方法可以序列化对象。)
  • 您是想将表设为矩阵还是将完整的矩阵存储在数据库表的字段中?
  • 我正在尝试将表格设为矩阵,在第一条评论之后似乎不是一个好主意:)

标签: java mysql matrix


【解决方案1】:

如果矩阵非常大,另一种选择是将其写入文件,然后使用LOAD DATA INFILE 语法将其加载到数据库。这为大型数据集提供了更好的性能。

在此处查看手册:http://dev.mysql.com/doc/refman/5.1/en/load-data.html

编辑: 如果矩阵很小(行不多),我会选择第一个选项,循环遍历行并使用INSERT,这比第二个选项更优雅和可读。

【讨论】:

  • 您以if 开头。 else 案子怎么样?但是:+1
  • @Martijn - 谢谢 Martijn!还添加了 else 案例:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多