Rob*_*ith 12 mysql database wolfram-mathematica
我已经看到使用Input Needs["DatabaseLink"]和conn = OpenSQLConnection[JDBC["MySQL(Connector/J)", "yourserver/yourdatabase"], "Username" -> "yourusername", "Password" -> "yourpassword"](如果有人想试试)可以在Mathematica和MySQL数据库之间建立连接.顺便说一句,这里有DatabaseLink的文档.
有没有人有这种方式使用Mathematica的经验,可能是为了分析数据库中包含的数据?是否存在明显的缺点(速度,需要内存等)?
WRe*_*ach 10
我没有使用DatabaseLink`MySQL,但我已经广泛使用它与Oracle,SQL Server和HSQLDB.我的大多数DatabaseLink`用法都在Windows上的Mathematica版本6到8中.我用它来进行读写,有时使用非常大的数据集.我的经验是该设施按预期工作.我没有遇到涉及性能或记忆的任何异常情况.我希望您能在Mathematica中找到与您在其他语言中遇到的SQL访问权限相媲美的SQL访问权限.特别是,它的表现与使用Java非常相似 - 大概是因为Mathematica在内部使用Java来完成所有繁重的任务.
我将提到在Mathematica中执行查询的"明显"方法SQLExecute将把整个结果集读入内存.如果您希望使用大型结果集而不会耗尽内存,请查看结果集函数SQLResultSetOpen等.
有关Mathematica中使用SQL的一个非常基本的示例(使用HSQLDB),请参阅我对使用内存构造函数的最佳方法的响应.
我最近使用数据库加速了一个Manipulate[]块.
没有数据库,内存中需要150 MB ASCII文件的基本数据才能访问.结果,该Manipulate[]块减速.这可能PackedArray[]会有所帮助.我没有调查这个.
使用数据库,单个数据集的访问速度略慢于Select[]块,但内存占用量下降了近10倍.
我会说去吧.
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |