问:如何在相对较短的时间内从数据源插入缺失的行和更新?
存在很少更新的Postgre表而不是强大的服务器(apache2和中间CPU的1Gb ram)。有 10 M 记录。有些记录可以更新,可以添加一些记录。
数据源是由php脚本生成的大型CSV文件。
表格结构:
id (auto inc.)
week_number (1-54)
audience_id (int)
channel_id (int)
is_weekend (char, Y or N)
start_time (hours, offset in minutes after midnight)
rating (numberic. In fact main value)
评分字段由下一个字段确定: week_number , audience_id , channel_id , is_weekend 和 start_time 将来我们称之为“ complex_key ”。
我做了什么(php服务器端):
答案 0 :(得分:0)
使用PHP在事务块(BEGIN ... COMMIT)中创建更新和插入的SQL文件。通过命令行psql加载文件。此方法不会减少提取/计算时间,但会在更新期间创建速度的显着增加。