Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从大型数据存储中提取数据时,如何处理存储限制?_Mysql_Algorithm_Caching - Fatal编程技术网

Mysql 从大型数据存储中提取数据时,如何处理存储限制?

Mysql 从大型数据存储中提取数据时,如何处理存储限制?,mysql,algorithm,caching,Mysql,Algorithm,Caching,我将从一个网速较慢的数据存储中获取大量数据。获取数据后,我必须解析csv文件,修复错误并将结果存储在数据库中。我不需要永远保存这些数据。只有当我们需要基于这些数据创建报告时,才需要它。但将其保留在系统中意味着更快的响应,我们不必每次都解析/清除/修复csv文件中的错误。问题是我们的系统的存储空间要小得多。因此,我无法在我们的系统中保留所有已解析/干净的数据。在某个时刻,我必须删除这些数据,当对这些数据的请求再次出现时,我们必须再次获取、解析和清理这些数据。我想要删除旧数据的策略。何时删除已清除的

我将从一个网速较慢的数据存储中获取大量数据。获取数据后,我必须解析csv文件,修复错误并将结果存储在数据库中。我不需要永远保存这些数据。只有当我们需要基于这些数据创建报告时,才需要它。但将其保留在系统中意味着更快的响应,我们不必每次都解析/清除/修复csv文件中的错误。问题是我们的系统的存储空间要小得多。因此,我无法在我们的系统中保留所有已解析/干净的数据。在某个时刻,我必须删除这些数据,当对这些数据的请求再次出现时,我们必须再次获取、解析和清理这些数据。我想要删除旧数据的策略。何时删除已清除的数据?有人能对这个问题提出建议吗

您描述的是一个典型的缓存问题,其中存储介质大但速度慢,而存储介质小但速度快,无法保存所有数据

理想情况下,您会扔掉这些数据,这些数据在将来都不会被大量使用。然而,通常很难预测未来的访问模式。因此,人们使用启发式来做出明智的猜测

最近使用最少的一种启发式方法。这假设如果我最近没有使用过数据项,那么将来就不会经常使用它。为此,您将丢弃访问时间最长的数据

另一种方法是丢弃使用频率最低的数据

有关更多信息,请参阅有关浏览器缓存和操作系统磁盘缓存的文章