电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

說一說Oracle的優化器(Optimizer)

瀏覽:7日期:2023-11-20 08:29:22
本文的目的:1、說一說Oracle的Optimizer及其相關的一些知識。2、回答一下為什么有時一個表的某個字段明明有索引,當觀察一些SQL的執行計劃時,發現確不走索引的問題。 3、假如你對 FIRST_ROWS、 ALL_ROWS這兩種模式有迷惑時也可以看一下這篇文章。開始吧:Oracle在執行一個SQL之前,首先要分析一下語句的執行計劃,然后再按執行計劃去執行。分析語句的執行計劃的工作是由優化器(Optimizer)來完成的。不同的情況,一條SQL可能有多種執行計劃,但在某一時點,一定只有一種執行計劃是最優的,花費時間是最少的。相信你一定會用Pl/sql Developer、Toad等工具去看一個語句的執行計劃,不過你可能對Rule、Choose、First rows、All rows這幾項有疑問,因為我當初也是這樣的,那時我也迷惑為什么選了以上的不同的項,執行計劃就變了?1、優化器的優化方式Oracle的優化器共有兩種的優化方式,即基于規則的優化方式(Rule-Based Optimization,簡稱為RBO)和基于代價的優化方式(Cost-Based Optimization,簡稱為CBO)。A、RBO方式:優化器在分析SQL語句時,所遵循的是Oracle內部預定的一些規則。比如我們常見的,當一個where子句中的一列有索引時去走索引。B、CBO方式:依詞義可知,它是看語句的代價(Cost)了,這里的代價主要指Cpu和內存。優化器在判定是否用這種方式時,主要參照的是表及索引的統計信息。統計信息給出表的大小 、有少行、每行的長度等信息。這些統計信息起初在庫內是沒有的,是你在做analyze后才出現的,很多的時侯過期統計信息會令優化器做出一個錯誤的執行計劃,因些我們應及時更新這些信息。在Oracle8及以后的版本,Oracle列推薦用CBO的方式。我們要明了,不一定走索引就是優的,比如一個表只有兩行數據,一次IO就可以完成全表的檢索,而此時走索引時則需要兩次IO,這時對這個表做全表掃描(full table scan)是最好的。2、優化器的優化模式(Optermizer Mode)優化模式包括Rule,Choose,First rows,All rows這四種方式,也就是我們以上所提及的。如下我解釋一下:Rule:不用多說,即走基于規則的方式。Choolse:這是我們應觀注的,默認的情況下Oracle用的便是這種方式。指的是當一個表或或索引有統計信息,則走CBO的方式,假如表或索引沒統計信息,表又不是非凡的小,而且相應的列有索引時,那么就走索引,走RBO的方式。First Rows:它與Choose方式是類似的,所不同的是當一個表有統計信息時,它將是以最快的方式返回查詢的最先的幾行,從總體上減少了響應時間。All Rows:也就是我們所說的Cost的方式,當一個表有統計信息時,它將以最快的方式返回表的所有的行,從總體上提高查詢的吞吐量。沒有統計信息則走基于規則的方式。3、如何設定選用哪種優化模式a、Instance級別我們可以通過在init<SID>.ora文件中設定OPTIMIZER_MODE=RULE、OPTIMIZER_MODE=CHOOSE、OPTIMIZER_MODE=FIRST_ROWS、OPTIMIZER_MODE=ALL_ROWS去選用3所提的四種方式,假如你沒設定OPTIMIZER_MODE參數則默認用的是Choose這種方式。B、Sessions級別通過SQL> ALTER SESSION SET OPTIMIZER_MODE=<Mode>;來設定。 C、語句級別這些需要用到Hint,比如:SQL> SELECT /*+ RULE */ a.userid,2;;b.name,3;;b.depart_name4;;;FROM tf_f_yhda a,5;;tf_f_depart b6;;WHERE a.userid=b.userid;4、為什么有時一個表的某個字段明明有索引,當觀察一些語的執行計劃確不走索引呢?如何解決呢?A、不走索引大體有以下幾個原因♀你在Instance級別所用的是all_rows的方式♀你的表的統計信息(最可能的原因)♀你的表很小,上文提到過的,Oracle的優化器認為不值得走索引。B、解決方法♀可以修改init<SID>.ora中的OPTIMIZER_MODE這個參數,把它改為Rule或Choose,重起數據庫。也可以使用4中所提的Hint.♀刪除統計信息 SQL>analyze table table_name delete statistics;♀表小不走索引是對的,不用調的。5、其它相關A、如何看一個表或索引是否是統計信息SQL>SELECT * FROM user_tables 2WHERE table_name=<table_name> 3;AND num_rows is not null;SQL>SELECT * FROM user_indexes 2WHERE table_name=<table_name> 3;;AND num_rows is not null;b、假如我們先用CBO的方式,我們應及時去更新表和索引的統計信息,以免生形不切合實的執行計劃。 SQL> ANALYZE TABLE table_name COMPUTE STATISTICS;SQL> ANALYZE INDEX index_name ESTIMATE STATISTICS;具體的ANALYZE語句請參照Oracle8i/9i 的refrence文檔。(全文完)
標簽: Oracle 數據庫
主站蜘蛛池模板: 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 昊宇水工|河北昊宇水工机械工程有限公司 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | Win10系统下载_32位/64位系统/专业版/纯净版下载 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 胶原检测试剂盒,弹性蛋白检测试剂盒,类克ELISA试剂盒,阿达木单抗ELISA试剂盒-北京群晓科苑生物技术有限公司 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 农产品溯源系统_农产品质量安全追溯系统_溯源系统 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 移动机器人产业联盟官网| 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 山东螺杆空压机,烟台空压机,烟台开山空压机-烟台开山机电设备有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 带压开孔_带压堵漏_带压封堵-菏泽金升管道工程有限公司 |