2011-12-14 116 views

回答

4

从mat文件中读取数据,也是一个“数据库”,其中您从文件中读取数据。
最终,您必须自己执行查询,并处理许多其他问题。
此外,它不是一个可扩展的解决方案,这意味着对于大量的数据,它将无法正常工作。
当然,如果你有少量的数据,而且只有基本的查询,那么使用SQL建立数据库的麻烦是不值得的。

关于你的第二个问题,它确实取决于你在那里的数据。

+0

很好的了解,数据库仍然是更快 – mugetsu

+0

@mugetsu:我认为,开销要低得多用垫子文件足够小或秩序井然的数据集,是微不足道的查询。 – Jonas

+1

@Jonas我正在处理包含图像的大垫子文件,如果你听说过VOC图像或Caltech101图像,那就是我正在使用的。表结构非常简单,但可以有数十万行。那么垫子会更好吗? – mugetsu

4

我同意安德烈。这取决于数据和你想要做什么。我在Matlab中创建了一个小程序,用于查询相对较小的.mat数据库,但随着数据库和用户数量的增长,性能一直在下降。

鉴于此,我们决定使用MySQL数据库。我创建了一个小型Java应用程序,与数据库对话并将其导入到Matlab中,以在Matlab和MySQL之间移动数据。但是我必须为我的数据创建特定的查询。如果有人能给我一个更好的解决方案,我将不胜感激。

也许在Matlab和SQL数据库之间生成一个在.mat数据之间移动数据的通用脚本并不是一个好主意。将数据存储在结构中并使用它来创建表。

如果你想通过电子邮件进一步讨论这样的事情,我会很乐意。也许我们可以相互学习一两件事。

+2

只是疯狂的猜测,尝试将mat转换为XML,然后使用一些标准的数据库工具导入它。例如,Microsoft Access。 –

+0

我将不得不尝试这个!我有一些大型的.MAT文件,我将它们转换为SQLite数据库,但由于我不是一个真正的MATLAB人员,所以我非常痛苦,所以我必须在Python中构建一个解析器来处理许多MANY嵌套的结构(该死的你MATLAB! )。任何方式我用Python解析它,然后通过熊猫保存到数据库。 –