php - 在 Doctrine 中出现性能问题是否正常?
问题描述
在处理超过 2000 条记录的插入或更新时,在原则上出现性能问题是否正常?我应该求助于 PDO 吗?
解决方案
是的。当你使用批量选择时,Doctrine 是有效的,但如果你使用批量更新、插入或删除,则非常糟糕。不要对那些使用纯 sql 的操作使用原则。例如,当您批量插入时,您会创建 2000 个对象(服务器内存不足),然后如果您在循环中刷新,则将其逐个插入。当然,您可以使用 200 个对象块和刷新来持久化它们,但内存使用量仍然比通过普通 sql 插入要大得多。更糟糕的是,如果您使用原则选择 2000 条记录,那么这些记录不仅会成为实体对象,而且还会成为具有许多其他对象映射到它们的持久集合,并且当您尝试持久保存它们时,服务器将使用更多内存。
推荐阅读
- c# - SQL Server db 在不运行更新数据库的情况下更新项目构建(使用 EF6 和代码优先迁移)
- python-3.x - 使用 cv2 进行灰度图像旋转
- php - 如何将本地文件夹的多个文件上传到ftp文件夹?
- excel - 自动格式化提前结束
- c - 如何将 Python 字符串列表转换为 wchar_t 的 C 数组?
- python - 无法在评论删除页面显示帖子标题
- docker - Docker 中的 Kubernetes 集群是什么?
- r - 在 dplyr 管道中加入非 R 标准列名
- arrays - 在 ruby 中,如何用 id 键重新排列对象数组,将数组的新顺序作为数组给出?
- java - 无法连接到 Postgres SQL,使用 Jmeter JDBC 连接