caching - 原则 ORM,当每个实体具有嵌套关系时,使用持久化和刷新的批量更新问题(使用缓存的可能性)
问题描述
我正在尝试对产品数据进行 excel 导入,其中 excel 将包含数据库中已经存在的数据。因此,事实证明是根据来自 excel 的值更新现有的产品数据。每个产品数据都有标签、类别等关系。我们假设标签是唯一的主数据。所以每个产品都可以链接到标签。我使用了 Doctrine ORM 并使用了 persist 和 flush 组合。但是它需要大量的时间和内存来执行。有时,当产品实体数量较大时,它会超过内存限制。由于标签是共享的,因此在持久化期间执行了许多 SELECT 语句。我尝试在操作过程中应用 flush() 和 clear()。
有人可以对此提出一些解决方案。如果已经选择(即在实体之间共享),我们是否可以使用缓存来消除频繁的数据获取语句。
解决方案
推荐阅读
- javascript - Discord.js 命令输入字符串
- apache-spark - 用于 SQL 子查询的 Spark Cassanda 连接器中 Cassandra 的下推过滤器 - 自定义催化剂规则?
- sympy - sympy 可以解决这个 ODE (y')**2 = y
- php - 如何获取数组php的第一个值
- apache - Max Processes Limit 当前为 31196,应设置为 65000 以避免操作中断
- c# - 检测鼠标悬停在用户控件和所有子项上 - C# WinForms
- python - 失败 - 在 Selenium 无头 Chrome 中下载时出现下载错误
- java - 如何在 RecyclerView 中显示 firebase 数据库的变量“名称”和“值”
- python - 使用大尺寸刻度数据优化代码重采样
- matlab - Matlab系列评估给出了奇怪的结果