about me:oracle ace pro,optimistic,passionate and harmonious. focus on oracle,mysql and other database programming,peformance tuning,db design, j2ee,linux/aix,architecture tech,etc
全部博文(166)
发布时间:2023-04-17 16:58:53
主要是在12c之前,直方图只存储前32字节,12c及之后是存储前64字节导致全表扫描的问题......【阅读全文】
发布时间:2022-04-14 11:19:14
filter操作是执行计划中常见的操作,这种操作有两种情况:
1. 只有一个子节点,那么就是简单过滤操作。(不是本文重点)
2. 有多个子节点,那么就是类似nested loops操作,只不过与nested loops差别在于,filter内部会构建hash表(有缓存提高效率,缓存的bucket数目是1024个),对于重复匹配的,不会再次进行循环查找,而是利用已有结果,提高效率。但是一旦重复匹配的较少,循环次数多,也就是类似nested loops,那么这种filter操作将是严重影响性能的操作,可能你的sql几天都执行不完了。(本文讨论重点)
......
发布时间:2022-04-14 11:14:37
filter操作是执行计划中常见的操作,这种操作有两种情况:
1. 只有一个子节点,那么就是简单过滤操作。(不是本文重点)
2. 有多个子节点,那么就是类似nested loops操作,只不过与nested loops差别在于,filter内部会构建hash表(有缓存提高效率,缓存的bucket数目是1024个),对于重复匹配的,不会再次进行循环查找,而是利用已有结果,提高效率。但是一旦重复匹配的较少,循环次数多,也就是类似nested loops,那么这种filter操作将是严重影响性能的操作,可能你的sql几天都执行不完了。(本文讨论重点)
......
发布时间:2022-04-14 10:28:36
filter操作是执行计划中常见的操作,这种操作有两种情况:
1. 只有一个子节点,那么就是简单过滤操作。(不是本文重点)
2. 有多个子节点,那么就是类似nested loops操作,只不过与nested loops差别在于,filter内部会构建hash表(有缓存提高效率,缓存的bucket数目是1024个),对于重复匹配的,不会再次进行循环查找,而是利用已有结果,提高效率。但是一旦重复匹配的较少,循环次数多,也就是类似nested loops,那么这种filter操作将是严重影响性能的操作,可能你的sql几天都执行不完了。(本文讨论重点)
......
发布时间:2022-04-14 10:15:44
filter操作是执行计划中常见的操作,这种操作有两种情况:
1. 只有一个子节点,那么就是简单过滤操作。(不是本文重点)
2. 有多个子节点,那么就是类似nested loops操作,只不过与nested loops差别在于,filter内部会构建hash表(有缓存提高效率,缓存的bucket数目是1024个),对于重复匹配的,不会再次进行循环查找,而是利用已有结果,提高效率。但是一旦重复匹配的较少,循环次数多,也就是类似nested loops,那么这种filter操作将是严重影响性能的操作,可能你的sql几天都执行不完了。(本文讨论重点)
......