Oracle CBO
文章平均质量分 77
圆滚滚的大团
这个作者很懒,什么都没留下…
展开
-
基于CBO的SQL优化之被动优化SQL语句(4)
适用场景:在版本升级或者应用程序升级后的CBO的执行策略会发生变化,使得CBO因为环境的变化而改变计划的执行,所以此时就需要某种方式来确保CBO执行计划的稳定性,这种方式就是存储大纲,它维持CBO的计划执行稳定性,只要是相同的查询SQL语句都使用相同的执行计划。而对于OLTP系统来说,有大量的插入或者删除操作,对于这样的系统要尽量少应用索引(只在必要的列上使用索引,如主键上创建索引),因为索引在大量DML(增删改查)操作时会触发自身的维护,并且需要储存空间,索引本身也要消耗系统资源。原创 2023-05-22 12:33:43 · 183 阅读 · 1 评论 -
基于CBO的SQL优化之SQL_TRACE(3)
SQL语句被执行了273次,总共耗时0.09秒,语句被执行了446次,话费时间是0.08秒,在解析和执行期间没有磁盘I/O和缓冲区读取操作,fetch操作执行了621次,耗时0.15秒,没有涉及磁盘读取但涉及1609次缓冲区读取操作,总共读取了580个数据库块,涉及618行数据。tkprof是分析SQL_TRACE文件的实用程序,它将SQL_TRACE文件格式化,得到一个SQL语句的执行结果,其前提必须是启动SQL_TRACE。说明 SQL_TRACE设置成功,接下来就可以运行语句分析了。原创 2023-05-22 12:33:22 · 123 阅读 · 1 评论 -
基于CBO的SQL优化之explain plan for(2)
上一节基于CBO的SQL优化之统计信息,这节我们再来讨论下EXPLAIN PLAN FOR,必须使用一个脚本文件utlxplan.sql来创建plan_table来存储使用explain plan for语句获得的SQL语句分析结果,在oracle的安装目录中,我们需要找到utlxplan.sql这个文件,然后执行。通过explain plan for指令分析SQL语句的执行计划。我们可以看到,这是一个全表扫描的,表明是TRADE_CAL。查看表plan_table的SQL语句执行计划信息。原创 2023-05-22 12:31:58 · 118 阅读 · 1 评论 -
基于CBO的SQL优化之统计信息(1)
而一旦系统部署好,应用系统本身无法改变,我们只能通过对文件存储做合理分布以减少I/O,对表创建合理的索引、建立分区表等,这样的系统性能优化称为被动的性能调整,而这就是作为DBA大多数的工作内容。统计信息是优化器选择最优执行计划的重要依据之一,统计信息包括表的行数、列的数据分布、索引的高度等等。2、系统资源:考虑系统资源的使用情况,SQL_TRACE主要用于检查数据库的异常情况,通过跟踪数据库的活动,找到有问题的语句;2) FIRST_ROWS_n:输出查询的前n行数据,满足最快响应的查询需求。原创 2023-05-22 12:31:23 · 232 阅读 · 1 评论