sql – 在什么条件下,SELECT by PRIMARY KEY会变慢?
发布时间:2020-12-12 06:32:51 所属栏目:MsSql教程 来源:网络整理
导读:在相当典型的 EclipseLink / JPA应用程序中查找一些数据库性能问题. 我看到频繁的查询需要25-100ms.这些是简单查询,只是从表中选择其主键等于值的所有列.他们不应该慢. 我正在查看postgres日志中的查询时间,使用log_min_duration_statement,这样可以消除任何
在相当典型的
EclipseLink / JPA应用程序中查找一些数据库性能问题.
我看到频繁的查询需要25-100ms.这些是简单查询,只是从表中选择其主键等于值的所有列.他们不应该慢. 我正在查看postgres日志中的查询时间,使用log_min_duration_statement,这样可以消除任何网络或应用程序开销. 此查询并不慢,但经常使用它. 为什么主键选择*会变慢? 来自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)] 表有大约350万行. 我也在这个查询上运行EXPLAIN和EXPLAIN ANALYZE,它只进行索引扫描. 解决方法选择*会使您的数据库更加困难,并且作为一般规则,这是一种不好的做法. stackoverflow上有很多问题/答案正在讨论这个问题.你试过用字段名称替换*吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |