将数百万个小型csv文件作为数据库或一些大文件读取

时间:2018-04-20 11:58:48

标签: php mysql csv

我遇到了构建大量价格表的最佳方法的问题。

大约有50种产品具有不同的选项/属性,可以确定需要在php中加载的价格。

例如:

Product 1
Options:
Quantity: 1, 50, 100, 250, ... 300.000
Color: Green, Blue, Red
Size: S, M, L
Material: Wood, Cotton, Stone
Thickness: 10mm, 15mm, 20mm

Product 2
Options:
Quantity: 1, 25, 50, 200 ... 350.000
Color: Green, Blue, Red
Width: 20cm, 50cm, 90cm
Height: 10cm, 30cm, 20cm

有些产品选项不同,有些产品相同(如数量)。一个选项最多可以有一百个不同的值可供选择。

定价表在excel表和exportet中计算为csv文件。

我的方法是获取我的价值的id并生成组合ID,如下所示:

Green+M+Wood+10mm = 2341+2342+4532+2346 = 2341234245322346

并将它们作为mysql表放入一个大索引中。

price_tables
------------
combination_id    |  product_id   |  filename
------------------------------------
2341234245322346  |  23           |  price_23_2341234245322346.csv
2342234245322346  |  23           |  price_23_2341234245322346.csv
2342234245322347  |  24           |  price_24_2342234245322347.csv

然后让我的csv文件结构如下

price_23_2341234245322346.csv
------------------------------
quantity  |  price
-----------------------
1         |  321,22€  
50        |  512,32€  
100       |  1203,54€  

或者为每个产品只读一个巨大的csv文件会更好/更快。 像这样:

product_23.csv
--------------------------------
quantity  |  color  |  size  | ... |  price
------------------------------------------
50        |  Green  |   S    | ... |  321,22€  
50        |  Green  |   M    | ... |  512,32€  
50        |  Red    |   S    | ... |  1203,54€  
...

有人可以帮助我管理这些大量数据吗?

问候

TrytoFly

0 个答案:

没有答案