我的任务是在工作中优化一些sql查询。我发现的所有内容都指向使用“解释计划”来识别问题区域。我无法确切地知道什么解释计划告诉我的问题。您将获得成本,基数和字节数。
这表示什么,以及我应该如何使用它作为指导。低数字更好吗?高更好?任何投入将不胜感激。
或者,如果您有更好的方法来优化查询,我会很感兴趣。
根据您的所做所为,您可以获得比实际更多的收益。查看此说明计划页面。我在这里假设您正在使用Oracle,并且知道如何运行脚本来显示计划输出。首先可能更重要的是查看左侧是否使用特定索引以及如何利用该索引。如果您正在执行联接,则应该看到诸如“(Full)”,“(By Index Rowid)”之类的内容。成本将是接下来要考虑的问题,成本越低越好,您会注意到,如果执行的联接不使用索引,则可能会产生非常大的成本。您可能还需要阅读有关解释计划列的详细信息。