我们正在分析 Oracle 12c 数据库上的 sql 语句。我们注意到以下语句通过运行几次得到了改善。如何解释它通过第二次和第三次执行而得到改善?
SELECT COUNT (*)
FROM asset
WHERE ( ( (status NOT IN ( 'x1', 'x2', 'x3'))
AND ( (siteid = 'xxx')))
AND (EXISTS
(SELECT siteid
FROM siteauth a, groupuser b
WHERE a.groupname = b.groupname
AND b.userid = 'xxx'
AND a.siteid = asset.siteid)))
AND ( (assetnum LIKE '5%'));
- 第一次运行:24 秒。
- 第二轮:17秒。
- 第三轮:7秒。
- 第四轮:7秒。
- 通过使用结果现金调整:0,003 秒。