【发布时间】:2016-12-16 16:26:45
【问题描述】:
我正在编写一个使用历史时间序列数据来执行模拟的应用程序。
应用程序在执行主循环之前(每天最多 30 年)将数据从数据库加载到本地数据包装类中,还是每天连接到数据库以提取所需的数据更好?
哪个更优雅高效?
【问题讨论】:
-
效率取决于你每天有多少数据
标签: python database matlab oop time-series
我正在编写一个使用历史时间序列数据来执行模拟的应用程序。
应用程序在执行主循环之前(每天最多 30 年)将数据从数据库加载到本地数据包装类中,还是每天连接到数据库以提取所需的数据更好?
哪个更优雅高效?
【问题讨论】:
标签: python database matlab oop time-series
对于当前的计算机,如果您的每日数据保持在 10kB 以下,那么 30 年的每日数据几乎为零。由于您的模拟可能需要有效的检索,特别是如果它结合了来自不同日期的数据,我会在一个查询中读取内存中的所有数据,然后开始处理。
被认为是优雅的东西正在发生变化。很多年前,将所有内容都加载到内存中会被认为是一种大罪。如今,内存数据库很常见。由于数据库通常提供集合级访问(尤其是当您可能使用 SQL 查询时),因此在循环中逐项检索数据将非常低效(尽管您的数据库可能足够聪明地缓存数据)。
【讨论】: