Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
Php 我应该如何优化/构建我的数据库以收集网店价格开发?_Php_Mysql_Database_Optimization - Fatal编程技术网

Php 我应该如何优化/构建我的数据库以收集网店价格开发?

Php 我应该如何优化/构建我的数据库以收集网店价格开发?,php,mysql,database,optimization,Php,Mysql,Database,Optimization,我有一个小的个人项目,应该是从不同的网店收集数据。我基本上是每晚运行一个cron脚本。此脚本使用简单的HTML DOM解析器for PHP获取选定产品组中产品的价格 到目前为止,我的数据库由三个表组成: -存储每个网店的名称、URL等 -产品每个产品的URL、产品名称等 -价格每种产品每天的价格 我的问题是价格表。每次运行cron脚本时,它都会为每个产品(300+)保存带有价格数据的新条目,即使产品价格不变。我知道我可以通过检查价格是否改变来避免保存不必要的数据。但是,同样的,一个产品可以脱销,

我有一个小的个人项目,应该是从不同的网店收集数据。我基本上是每晚运行一个cron脚本。此脚本使用简单的HTML DOM解析器for PHP获取选定产品组中产品的价格

到目前为止,我的数据库由三个表组成:
-
存储每个网店的名称、URL等
-
产品
每个产品的URL、产品名称等
-
价格
每种产品每天的价格


我的问题是
价格表。每次运行cron脚本时,它都会为每个产品(300+)保存带有价格数据的新条目,即使产品价格不变。我知道我可以通过检查价格是否改变来避免保存不必要的数据。但是,同样的,一个产品可以脱销,没有留下它什么时候脱销的信息(如果我每天都保存价格的话)。你们怎么做才能更有效?由于DOM解析,cron脚本可能需要很长时间才能执行,我希望确保所有内容都按照预期进行解析并添加到数据库中。

我想您可以跟踪解析的每个DOM,并存储其校验和,以查看在第二天晚上再次加载时是否发生了更改。如果校验和是一样的,你就知道你不需要解析和更新,因为没有什么会改变。

我会保持你现在的方式,数据是好的,我认为产品终身价格变化的价值是值得每天存储价格,即使价格没有变化,我认为你必须仔细决定不必要的数据对你意味着什么。这是非常正确的。尽管如此,如果我只保存价格调整,我仍然会知道价格在下次调整之前是有效的。否则,数据库将被数千个具有相同信息的条目堵塞,但DOM几乎总是会发生变化,因为页面上的内容不同。产品组视图对于活动等具有不同的标题,因此使用校验和将毫无价值+我赞成这个主意!