有人能帮我了解针对oracle 11g express的性能优化算法(查询)吗?

有人能帮我了解针对oracle 11g express的性能优化算法(查询)吗?,oracle,oracle11g,Oracle,Oracle11g,我找不到示例或算法来说明oracle 11g express性能调优的使用情况,也找不到它在oracle中是如何使用的。我一直在看一些youtube视频,但大多数视频只提到了调优的内容,没有显示任何好的示例或使用一些oracle cmd。(如果这是在oracle cmd中完成的,我想知道如何执行性能调优过程)作为一种快速而肮脏的入门方式,运行EXPLAIN\u计划,该计划将告诉您oracle认为它将如何实际执行查询(实际上通常是不同的)并查找正在执行完整表扫描而不是命中索引的任何内容,在适当的情

我找不到示例或算法来说明oracle 11g express性能调优的使用情况,也找不到它在oracle中是如何使用的。我一直在看一些youtube视频,但大多数视频只提到了调优的内容,没有显示任何好的示例或使用一些oracle cmd。(如果这是在oracle cmd中完成的,我想知道如何执行性能调优过程)

作为一种快速而肮脏的入门方式,运行EXPLAIN\u计划,该计划将告诉您oracle认为它将如何实际执行查询(实际上通常是不同的)并查找正在执行完整表扫描而不是命中索引的任何内容,在适当的情况下,在必要的字段上创建索引,然后再次检查EXPLAIN_PLAN输出。您将看到Oracle现在表示将使用索引,而不是执行完整的表扫描等

其他需要注意的事项是,通过调用SQL内部的函数,强制进行完整表扫描。如果您使用say rtrim(),那么基于成本的优化器在调用函数后无法实际知道数据是什么,因此无法正确完成其工作,这通常会强制进行完整的表扫描,从而影响性能。如有必要,您可以在SQL语句中内联函数,也可以在此处(列)的函数名上创建索引。Oracle进行自动类型转换时需要注意这一点。如果一列中的数据是数字,但在一个包含相同数据的表(例如,该列是nvarchar)上进行联接,则Oracle将自动插入toNumber()函数以执行它需要的类型转换。这可能导致全表扫描

这至少是我对绝对基础知识以及从何处/如何开始的指点


如果您想以一种简单的方式查看explain plan download SQL Developer,请右键单击查询并从菜单中选择explain_plan。

调整查询的过程是本书的主题,而不是本文可能介绍的内容。它将涉及创建适当的索引、查看查询计划、跟踪文件等内容。如果您谈论的是使用performance tuning advisor,我认为express edition中不提供这种功能。