只是有兴趣,也许有人可能知道这一点。如果我使用延迟加载来获取所有属性,关系等等,则对数据库进行约350次查询,完全呈现页面需要大约2秒。如果我使用多个连接创建一个大型查询来获得所有我需要的关系,那么这会造成〜20个查询,其中一个非常大,问题是这个大型查询第一次需要大约10秒才能执行,之后它会被缓存,速度更快,整个页面加载时间大约为1.5秒,但问题是每个用户对该查询都有不同的参数,因此每个用户第一次使用它的时间为10秒。为什么第一次使用这么久?doctrine2多查询VS加入
-1
A
回答
0
请问,如果您使用的是存储过程?我添加了一个使用存储过程https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr3.htm的优点的链接。你能给不同的用户提供一些参数的例子吗?
感谢
0
当你给的数据基础架构没有任何信息,数据大小等参数是非常难以确定的糟糕表现的根本原因。但是,StackOverflow中有another answer这可能是进一步调查的一个很好的起点。
一般考虑以下几个问题展开调查/优化:
- 你真的需要你从数据库中获取(一次)的信息?
- 数据库是否针对您执行的查询进行了优化?
- 您需要多久执行一次查询?如果缓存它们,缓存的使用频率有多少?
相关问题
- 1. Doctrine2:SUM在左加入查询
- 2. 嵌套查询VS加入
- 3. Doctrine2随机查询
- 4. Doctrine2 QueryBuilder加入
- 5. 性能子查询VS加入
- 6. SQL加入Vs SQL子查询(性能)?
- 7. 多表查询加入
- 8. JPA多个查询加入
- 9. 查询加入时最多
- 10. 加入一对多查询
- 11. 访问加入Doctrine2
- 12. Doctrine2 +加入条件
- 13. SQL查询时间复杂度 - 加入VS子查询
- 14. 的MySQL查询优化三重加入VS嵌套查询
- 15. SQL Server查询性能 - 普通加入VS子查询
- 16. 如何Doctrine2查询的WHERE =
- 17. ZF2 +查询实体Doctrine2
- 18. Symfony2中的Doctrine2查询
- 19. 来自子查询的Doctrine2
- 20. Symfony - doctrine2中的子查询
- 21. doctrine2减去子查询值
- 22. 查询表vs进入表
- 23. 学说1.2查询加入多对多
- 24. MySQL查询 - 加入查询
- 25. 加入有条件与Doctrine2
- 26. 查询加入
- 27. 加入查询
- 28. 加入查询
- 29. 多凡VS内加入
- 30. 加入vs更多列
不,我没有使用它们,因为我的网站仍在不断发展,我可能需要多次更改数据库结构,目前它不是那么大的问题,但我对未来有点想。 关于参数: 被阻止的用户。因为我正在使用其他查询和。 – user2118788 2014-11-22 20:18:45
@ user2118788如果要获取大量结果,最好开始使用存储过程,因为它们会提高查询的性能。这只是一些需要思考的问题。如果查询数量增加,将所有查询转换为存储过程的任务将变成一件庞大的事情。 – mfredy 2014-11-24 11:07:10