为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:麒麟
【CPU】:飞腾
【问题描述】*:mysql迁移过来的语句执行正常,但是执行时间一秒左右,怎样处理?
select a.column_name,
data_type,
decode(nullable,
'Y',0,1) notnull,
data_default,
decode(a.column_name,
b.column_name,1,0) pk
from user_tab_columns a,(select column_name
from user_constraints c,
user_cons_columns col
where c.constraint_name=col.constraint_name
and c.constraint_type='P'
and c.table_name='eb_live_goods') b
where table_name='eb_live_goods'
and a.column_name=b.column_name(+)
试下这个写法,看是否能快一点
SELECT COL.NAME AS COLUMN_NAME
,COL.TYPE$ AS DATA_TYPE
,COL.LENGTH$ AS DATA_LENGTH
,COL.SCALE AS DATA_SCALE
,DECODE(COL.NULLABLE$,'Y',0,1) AS NOTNULL
,DEFVAL AS DATA_DEFAULT
,CON.INDEXID
,SF_COL_IS_IDX_KEY(IDX.KEYNUM, IDX.KEYINFO, COL.COLID) AS PK
FROM SYSCOLUMNS AS COL
JOIN SYSOBJECTS AS TAB
ON TAB.ID = COL.ID
AND TAB.TYPE$ = 'SCHOBJ'
AND TAB.SUBTYPE$ IN ('VIEW','UTAB')
LEFT JOIN SYSCONS CON
ON CON.TABLEID = TAB.ID
AND CON.TYPE$ = 'P'
LEFT JOIN SYSINDEXES IDX
ON IDX.ID = CON.INDEXID
WHERE TAB.NAME = 'eb_live_goods'
贴下执行计划,看看关键列是否有索引等等