【发布时间】:2018-07-11 11:38:24
【问题描述】:
以下查询需要 15 到 20 秒,这是预期的。请帮助重构此查询
SELECT upin.bipuserid userid,
upin.orgn_entity_id entityId,
COUNT(upin.ORGN_ENTITY_ID)
over (partition BY upin.bipuserid) as numentities,
COUNT(DISTINCT(SUBSTR(upin.ORGN_ENTITY_ID,6,2)))
over (partition BY upin.bipuserid) as numentitytypes
FROM userpermission upin;
表中有 1614246 条记录。已在两列上创建索引。
下面是表结构
Column Name Data Type
BIPUSERID VARCHAR2 (20 Char)
ROLECODE VARCHAR2 (25 Char)
ORGN_ENTITY_ID VARCHAR2 (10 Char)
ACT_CD VARCHAR2 (1 Char)
【问题讨论】:
-
您能否发布没有
numentitytypes列的查询性能? -
请edit your question 包含the execution plan 用于查询(作为文本,而不是图像)。
-
说明中添加了说明计划图片链接
标签: sql oracle performance refactoring sql-tuning