spring-boot - Hibernate - 如何减少准备语句所花费的时间
问题描述
我已经使用 - 启用了我的休眠统计信息spring.jpa.properties.hibernate.generate_statistics=true
。现在在调试控制台中,我可以看到如下消息:
29721 nanoseconds spent acquiring 1 JDBC connections;
34228 nanoseconds spent releasing 1 JDBC connections;
1465946 nanoseconds spent preparing 17 JDBC statements;
92174245 nanoseconds spent executing 17 JDBC statements;
我正在尝试微调所消耗的整个时间。
问题:我有什么选择或可以做些什么来减少/消除每次在同一组查询上浪费的时间 - 1465946 nanoseconds spent preparing
?
解决方案
除了尝试减少 JDBC 语句的数量之外,您实际上什么也做不了。这可以通过进行二级缓存或使用获取连接或实体图通过连接而不是通过专用的选择语句来急切地加载一些数据来完成。在不确切知道您的应用程序在做什么的情况下,这是不可能的。无论如何,与执行所有这些语句所需的 92 毫秒相比,1.4 毫秒并不算多。IMO 您应该尝试通过引入适当的索引或任何适合您的查询来提高性能来减少执行时间。
推荐阅读
- javascript - Nextjs Link 组件在不使用锚点的情况下是否对 SEO 友好?
- python - 如何抓取嵌套列表的字符串表示?
- kubernetes - "istio-init" 需要在其他 initContainers 之前运行
- vue.js - 没有 jQuery 的屏蔽输入 vuejs
- java - Spring Boot + Spring MVC + Thymeleaf 自定义登录失败,在控制台中没有显示任何错误
- java - 如何裁剪或复制 Canvas 的某个区域?
- excel - 为什么我更换笔记本电脑时 VBA 代码返回错误?
- javascript - 有没有办法在 JS 中“从左侧”监听特定位置?
- reactjs - React 组件 Material UI withStyles:样式中的变量?
- javascript - 如何从 JSON 数组调用函数