export - 导出大型数据集
问题描述
我在一家中型在线时尚公司工作,我们有一个非常大的报告,我们使用 FM 服务器端脚本导出,大约 75 个字段/15k 记录。
我遇到的问题,正如你想象的那样——这需要很长时间!我们有很多计算字段,在导出之前在脚本中执行查找、替换等操作,为了每天用新数据构建和更新报告,我还应该说明,还有很多来自其他表的相关数据出口。
我非常清楚这不会是一个快速的出口,但是如果有人对如何最大限度地减少出口时间有任何建议,我将不胜感激。目前我们正在导出为 CSV,那么例如 XLSX 会更快吗?
任何关于如何加快速度的建议都将受到欢迎!
谢谢你-S
解决方案
导出缓慢的原因可能是相关字段和您正在导出的任何未存储的计算。您可以通过使用缓存字段、非相关、非计算字段来解决此问题,这些字段在导出之前通过Replace Field Contents
在服务器上执行的各种脚本步骤进行更新。
将脚本分成三个脚本,Find Records to Export
、Update Caches
和Export Report
。它们看起来像这样:
Find Records to Export
Go to Layout [ "LayoutWithFieldsToReplace" ]
Enter Find Mode [ Pause: Off ]
Set Field [ TABLE::field ; // find criterion for this field ]
Set Field [ ...
Set Error Capture [ On ]
Perform Find []
Update Caches
Perform Script [ Find Records to Export ]
Replace Field Contents [ TABLE::cache_1 ; RELATED::field ]
Replace Field Contents [ TABLE::cache_2 ; TABLE::unstored_calc ]
Replace Field Contents [ ...
Export Report
Perform Script on Server [ Update Caches ]
Perform Script [ Find Records to Export ]
Export Records [ ...
我不确定 FileMaker 是否已更改为要求,但我认为您需要替换内容的字段在替换期间需要在布局上。因此,请确保您导航到的布局具有它们,在上面的脚本中,它们将是TABLE::cache_1
and TABLE::cache_2
。
推荐阅读
- c# - 在 ASP 控制器中创建数据库上下文实例是否有意义?
- raspberry-pi3 - 如何使用 Raspbian 在 Raspberry Pi 上设置联网的 Brother 打印机 (Brother_DCP_L2520DW_series)?
- android - 如何更改导航图标颜色
- azure-cosmosdb - 作为 cosmos db 中不支持的查询
- javascript - 在本机反应中运行 CPU 密集型任务
- excel - 一般问题:三人之间的平衡
- elasticsearch - 如何在 Elastic APM 中删除服务?
- python - 如何在您的分类机器学习模型中增加真阳性?
- python-3.x - 如何在colab中保存已安装的模块?
- bixby - postUrl 只运行一次