我已经看到可以使用以下命令在 Mathematica 和 MySQL 数据库之间建立连接Input Needs["DatabaseLink
"] and conn = OpenSQLConnection[JDBC["MySQL(Connector/J)", "yourserver/yourdatabase"], "Username" -> "yourusername", "Password" -> "yourpassword"]
(如果有人想尝试的话)。数据库链接文档here http://reference.wolfram.com/mathematica/DatabaseLink/tutorial/Overview.html, 顺便一提。
有谁有以这种方式使用 Mathematica 的经验,可能是为了分析数据库中包含的数据?是否有明显的缺点(速度、所需内存等)?
我没用过DatabaseLink`
与 MySQL 一起使用,但我已广泛将其与 Oracle、SQL Server 和 HSQLDB 一起使用。我的大部分DatabaseLink`
已在 Windows 上的 Mathematica 版本 6 至 8 上使用。我用它来读取和写入,有时还用它来处理非常大的数据集。我的经验是该设施按预期运行。我没有遇到任何涉及性能或内存的异常情况。我希望您会发现 Mathematica 中的 SQL 访问与您在其他语言中所体验到的相当。特别是,它的性能与使用 Java 非常相似——大概是因为 Mathematica 在内部使用 Java 来完成所有繁重的工作。
我会提到在 Mathematica 中执行查询的“明显”方式,SQL执行 http://reference.wolfram.com/mathematica/DatabaseLink/ref/SQLExecute.html,会将整个结果集读入内存。如果您希望在不耗尽内存的情况下处理大型结果集,请查看结果集函数SQLResultSetOpen 等 http://reference.wolfram.com/mathematica/DatabaseLink/guide/DatabaseTransactionsAndResultSets.html.
有关 Mathematica 中 SQL 使用的非常基本的示例(使用 HSQLDB),请参阅我的回复用内存构造函数的最佳方法 https://stackoverflow.com/questions/5287817/the-best-way-to-construct-a-function-with-memory/5291299#5291299.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)