我在我的应用程序中有一个模块,用户可以通过它上传一个大约1000-2000行的excel表格。我正在使用excel阅读器读取excel文件。
在excel中有以下列:

1) SKU_CODE
2)PRODUCT_NAME
3)OLD_INVENTORY
4)NEW_INVENTORY
5)STATUS

我有一个mysql表清单,其中包含有关sku代码的数据:
1) SKU_CODE : VARCHAR(100) Primary key
2) NEW_INVENTORY INT
3) STATUS : 0/1 BOOLEAN

我有两个选择:
选项1:要处理php中的所有记录,请提取所有sku_代码并在query中执行msql:
 Select * from inventory where SKU_CODE in ('xxx','www','zzz'.....so on ~ 1000-2000 values);

 - Single query

选项2:对当前sku数据逐个处理每条记录
Select * from inventory where SKU_CODE = 'xxx';
..
...
around 1000-2000 queries

所以你能帮我选择最好的方式来完成上述任务,并适当的解释,以便我可以确定一个好的产品模块。

最佳答案

您应该找到一个中间方法,有一个特定的最佳批处理大小,并将其用作查询数据库的条件。
例如批量大小可以是5000。
因此,如果excel包含2000行,那么所有数据都将在单个查询中返回。
如果excel包含19000行,则可以执行四个查询,即0-5000个sku代码、5001-1000个sku代码……等等。
尝试根据您的基准优化批处理大小。
保存数据库查询总是很好的。

10-04 22:13
查看更多