Fre*_*eit 9 sql database performance jpa eclipselink
在相当典型的EclipseLink/JPA应用程序中查找一些数据库性能问题.
我看到频繁的查询需要25-100ms.这些是简单查询,只是从表中选择其主键等于值的所有列.他们不应该慢.
我正在查看postgres日志中的查询时间,使用log_min_duration_statement,这样可以消除任何网络或应用程序开销.
此查询并不慢,但经常使用它.
为什么主键选择*会变慢?这是特定于postgres还是一般数据库问题?我怎样才能加快速度呢?一般来说?对于postgres?
来自pg日志的示例查询:
2010-07-28 08:19:08 PDT - LOG: duration: 61.405 ms statement: EXECUTE <unnamed> [PREPARE: SELECT coded_ele
ment_key, code_system, code_system_label, description, label, code, concept_key, alternate_code_key FROM coded
_element WHERE (coded_element_key = $1)]
Run Code Online (Sandbox Code Playgroud)
表有大约350万行.
我也在这个查询上运行EXPLAIN和EXPLAIN ANALYZE,它只进行索引扫描.
Select * 会使数据库工作更加困难,并且作为一般规则,这是一种不好的做法。stackoverflow 上有大量的问题/答案讨论这个问题。
您是否尝试过用字段名称替换 * ?
| 归档时间: |
|
| 查看次数: |
1484 次 |
| 最近记录: |