




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外文原文ORACLEISAVERYGOODDATABASE,BUTITCANNOTREADYOURMINDTHEREFORE,IFYOUWANTORACLETOUSEAFUNCTIONBASEDINDEXFORAQUERY,YOUMUSTUSETHEEXACTSAMETEXTFORTHEFUNCTIONINTHEQUERYASYOUDOINYOURFUNCTIONBASEDINDEXFORINSTANCE,THEFOLLOWINGQUERY,ALTHOUGHSIMILARTOTHEONESHOWNINFIGURE1011,WILLNOTUSETHEFUNCTIONBASEDINDEXSELECTFROMSHCUSTOMERSSWHERECUST_LAST_NAMEUPPERRUDDYALTHOUGHTHESELECTIONCRITERIALOGICALLYDICTATESTHATCUST_LAST_NAMESHOULDBETHERESULTOFANUPPERFUNCTION,YOUCANNOTEXPECTORACLETODEDUCETHISONITSOWNTHISSIMPLEEXAMPLEMAKESSENSE,BUTFORMORECOMPLEXFUNCTIONBASEDINDEXES,YOUWILLHAVETOREMEMBERTOUSETHESAMEIMPLEMENTATIONINYOURSQLSTATEMENTSASYOUDIDWHENYOUDEFINEDTHEFUNCTIONBASEDINDEXYOUCANAVOIDTHISPOTENTIALCAVEATBYCREATINGAVIEWBASEDONAFUNCTIONBASEDINDEXTHEVIEWWILLCREATEACOLUMNTHATUSESTHESAMEFUNCTIONASTHEFUNCTIONBASEDINDEX,INEFFECTADDINGTHEINVISIBLEFUNCTIONBASEDINDEXCOLUMNTOTHETABLETOIMPLEMENTTHISFORTHEFUNCTIONBASEDINDEXWEHAVEBEENWORKINGWITH,YOUCOULDRUNTHEFOLLOWINGCODE,INCLUDEDASSCRIPTCH10_CREATE_FBI_VIEWSQLCREATEORREPLACEVIEWSHFBI_VIEWASSELECTCUST_ID,UPPERCUST_LAST_NAMEUPPER_LAST_NAME,CUST_FIRST_NAME,CUST_LAST_NAME,CUST_STREET_ADDRESSFROMSHCUSTOMERSWITHTHISVIEW,YOUCANNOWRUNTHEQUERYSHOWNINFIGURE1014INTHISQUERY,YOUHAVEREPLACEDTHECOLUMNNAMETHATLINKSTOTHEUNDERLYINGCUST_FIRST_NAMECOLUMNTOTHECOLUMNNAMETHATLINKSTOTHEFUNCTIONINTHEVIEWDEFINITION,UPPER_LAST_NAMEORACLEKNOWSTOSUBSTITUTETHECOLUMNNAMEFORTHEDEFINEDFUNCTION,WHICHINTURNUSESTHEFUNCTIONBASEDINDEX,ASSHOWNINFIGURE1014NOTICETHATTHISQUERYDOESNOTEXPLICITLYUSETHESAMEFUNCTIONBUTSTILLPICKSTHEPROPERFUNCTIONBASEDINDEXASYOUCANSEEFROMFIGURE1014,THEVIEWELIMINATESTHENEEDTOEXACTLYDUPLICATETHEFUNCTIONINTHESELECTSTATEMENTWRAPPINGAVIEWAROUNDAFUNCTIONBASEDINDEXCANELIMINATETHENEEDFOROTHERDEVELOPERSORENDUSERSTOKNOWTHEFUNCTIONSUSEDINTHEINDEX,BUTYOUWILLSTILLHAVETOMAKESURETHATUSAGEPATTERNSCALLFORTHEIMPLEMENTATIONOFANYPARTICULARINDEX,FUNCTIONBASEDOROTHERWISETHEREISALSOONECAVEATONUSINGUSERDEFINEDFUNCTIONSINAFUNCTIONBASEDINDEXTHEFUNCTIONMUSTBEDETERMINISTIC,WHICHMEANSTHATTHEFUNCTIONMUSTRETURNTHESAMEVALUESWHENEVERITISCALLEDWITHTHESAMEPARAMETERSTHISRESTRICTIONMEANSTHEFUNCTIONCANNOTACCESSOTHERINFORMATION,SUCHASDATAINTHEDATABASE,INAWAYTHATCOULDAFFECTTHEVALUERETURNEDDOMAININDEXESDOMAININDEXESEXTENDTHEINDEXINGCAPABILITIESOFTHEORACLEDATABASEEVENFURTHERTHANFUNCTIONBASEDINDEXESYOUCANCREATEYOUROWNOPERATORSTOPERFORMSPECIFICLOGICALFUNCTIONSANDCREATENEWINDEXTYPESBASEDONTHESEOPERATORSDOMAININDEXESREQUIREANUMBEROFSTEPSTOCREATESINCEDOMAININDEXESAREUSEDFORNONSTANDARDSCENARIOS,WEWILLNOTCOVERTHEMINTHISBOOKREFERTOORACLEDOCUMENTATIONFORMOREDETAILEDINFORMATIONONDOMAININDEXESBITMAPINDEXESWEHAVESAVEDTHEEXPLANATIONOFBITMAPINDEXESFORLAST,SINCETHISTYPEOFINDEXISDESIGNEDFORASPECIFICPURPOSETOUSEINADATAWAREHOUSEINATYPICALDATAWAREHOUSE,THEREISACENTRALFACTTABLE,WHICHCONTAINSINFORMATIONTYPICALLYREQUIREDBYUSERS,SURROUNDEDBYANUMBEROFDIMENSIONTABLES,WHICHAREUSEDTOLIMITTHESELECTIONOFINFORMATIONFROMTHEFACTTABLEFIGURE1015SHOWSATYPICALSTARSCHEMAFORADATAWAREHOUSE,WITHTHECENTRALFACTTABLESURROUNDEDBYDIMENSIONTABLESTHESTRUCTUREOFABITMAPINDEXABITMAPINDEXISDIFFERENTFROMOTHERINDEXES,WHICHHAVEANENTRYFOREACHNONNULLROWINTHETABLEINABITMAPINDEX,EACHVALUEHASABITMAP,WITHEACHBITINTHEBITMAPPOINTINGTOEACHROWTHATCONTAINSTHATVALUE,ASSHOWNINFIGURE1016THEPOWEROFTHEBITMAPINDEXCOMESWHENAQUERYREQUIRESSELECTIONONSEVERALDIFFERENTDIMENSIONSTHEORACLEDATABASESERVERCANPERFORMBITWISEANDOROROPERATIONSONEACHBITMAPINDEX,WHICHAREEXTREMELYFASTYOUCANIMAGINEHOWQUICKLYTHISCANWORKBYVISUALIZINGEACHBITMAPINDEXASAPUNCHCARDTOFINDAJOINONSEVERALDIFFERENTVALUES,YOUCANSIMPLYSEEWHEREAKNITTINGNEEDLECOULDPENETRATEMULTIPLEPUNCHCARDSATONCECOMPARETHISWITHTHEALTERNATIVEOFLOCATINGEACHVALUEONMULTIPLEDIMENSIONINDEXES,ANDTHENDOINGACOMPLEXJOINTHISTYPEOFORGANIZATIONMAKESSENSEIFYOUAREFREQUENTLYACCESSINGTHESAMEDATATOGETHERWHENORACLEFETCHESADATABLOCKFORTHEDEPTVALUE,THERELATEDEMPROWSHAVEALSOBEENRETRIEVEDACLUSTERALSOREDUCESSTORAGEREQUIREMENTS,SINCETHEVALUEOFTHECLUSTERKEYISONLYSTOREDONCE,RATHERTHANINBOTHTHEDEPTANDEMPTABLEWHYNOTJUSTCOMBINETHEROWSINTOASINGLELOGICALROWTHEEXAMPLEILLUSTRATESONEWAYTHATTHEDATAISACCESSED,BUTTHENORMALIZATIONPROCESS,DESCRIBEDINCHAPTER4,“DATABASEDESIGNBASICS,”MAYCALLFORDISTINCTTABLESFORLOGICALPURPOSESANDTHEOVERALLPERFORMANCEOFTHEAPPLICATIONSYSTEMTOIMPLEMENTACLUSTER,YOUHAVETOFIRSTCREATEACLUSTERANDTHENADDTABLESTOTHECLUSTERTHEREARELIMITATIONSTOUSINGACLUSTER,SUCHASTHEFACTTHATYOUCANNOTHAVEPARTITIONSINACLUSTERORDODIRECTPATHLOADSINTOACLUSTERSINCEEACHDATABLOCKHOLDSTHEROWSFORTABLESWITHTHESAMECLUSTERKEY,USINGACLUSTERTHATLEAVESALOTOFEMPTYSPACEINTHEBLOCKCANWASTESPACEANDDECREASEPERFORMANCEBYDEFAULT,ORACLEWILLONLYSTORETHEROWSFORONECLUSTERKEYVALUEINEACHDATABLOCK,ALTHOUGHYOUCANCHANGETHISBEHAVIORWITHAPARAMETERWHENYOUCREATETHETABLEYOUSHOULDALSOONLYUSEACLUSTERWHENTHEVALUESFORTHECLUSTERKEYAREVARIEDUSINGAKEYWITHANEXTREMELYLOWCARDINALITYCANNEGATETHEVALUEOFTHECLUSTER,SINCEORACLEWILLBEABLETOFINDTHEFIRSTBLOCKOFTHECLUSTER,BUTTHENHAVETOGOTHROUGHTHESAMERANDOMRETRIEVALFORTHERESTOFTHEBLOCKSFORTHEVALUEINADDITION,CLUSTERSAREONLYAPPROPRIATEWHENTHENUMBEROFROWSFORTHEDIFFERENTVALUESFORTHECLUSTERKEYARESIMILARINSIZEIFTHENUMBEROFROWSFORSOMEVALUESAREMUCHGREATERTHANTHENUMBERFOROTHERS,THECLUSTERWILLBESKEWED,WHICHWILLDECREASETHEEFFECTIVENESSOFTHECLUSTERBYADDINGALOTOF“EMPTY”SPACEONTHELESSPOPULATEDVALUESANDREDUCINGTHEEFFICIENCYOFFULLTABLESCANSHASHCLUSTERACLUSTERGROUPSDATAFROMONEORMORETABLESTOGETHERINTHESAMEDATABLOCKS,ORGANIZEDBYACLUSTERKEYRETRIEVINGTHEDATAISFASTERBECAUSETHEORACLEDATABASEDOESNOTHAVETOREFETCHDATABLOCKSTOGETDATAFROMRELATEDCLUSTERKEYVALUESAREQUESTFORACLUSTERSTILLGOESTHROUGHTHEPROCESSOFLOCATINGAVALUEFORTHECLUSTERKEYANDTHENFETCHINGBLOCKSBUTWHATIFTHISINDEXRETRIEVALCOULDBEELIMINATEDALSOORACLESUPPORTSANOTHERTABLEORGANIZATIONCALLEDAHASHCLUSTERTHISTYPEOFTABLEUSESTHERESULTOFAHASHFUNCTIONONTHECLUSTERKEYTODETERMINEWHERETOSTOREANDRETRIEVETHEROWDATAINTHECLUSTERAHASHCLUSTERLETSORACLEFINDTHEBLOCKSTHATCONTAINTHEROWSINTHECLUSTERBYPERFORMINGALOGICALFUNCTIONRATHERTHANI/OOPERATIONSORACLECANCALCULATEAVALUEANDGOSTRAIGHTTODATABLOCKSCONTAININGROWSFORTHATVALUETHISCAPABILITYSUBSTITUTESSOMECPUACTIVITYFORSOMEI/O,WHICHISFREQUENTLYAGOODTRADEOFFINTERMSOFOVERALLPERFORMANCEFORAHASHCLUSTERTOPROVIDEOPTIMALVALUE,YOUSHOULDBEABLETOESTIMATETHETOTALNUMBEROFHASHVALUESWHENYOUCREATETHECLUSTER,SOORACLECANPREALLOCATEALLTHESPACEREQUIREDFOREACHOFTHEVALUESFORTHEHASHKEYINANEFFICIENTWAYIFTHESIZEOFTHEHASHKEYENTRIESGROWSBEYONDTHEINITIALESTIMATE,THEPERFORMANCEBENEFITOFTHEORGANIZATIONISDECREASEDASADDITIONALBLOCKSAREADDEDTOTHECLUSTERYOUCANHAVEAHASHCLUSTERTHATONLYCONTAINSASINGLETABLETHISTYPEOFCLUSTERLETSORACLEACCESSROWSINTHETABLEDIRECTLYONCETHEHASHVALUEISCALCULATED,WHICHREDUCESI/OANDCANHELPPERFORMANCEINAPPROPRIATESITUATIONS,SUCHASATABLEUSEDFORLOOKUPSORACLEDATABASE10GALSOSUPPORTSASORTEDHASHCLUSTERTHISORGANIZATIONSTORESDATABASEDONAHASHVALUE,BUTALSOINTHEORDERTHATTHEDATAWASENTEREDSOMETYPESOFDATA,SUCHLOGRECORDSFROMAPHONESYSTEM,AREVERYAPPROPRIATEFORASORTEDHASHCLUSTERINTHISEXAMPLE,THEUSERWOULDTYPICALLYWANTTOACCESSROWSBYCUSTOMERID,THECLUSTERKEY,WHICHCOULDBERAPIDLYRETRIEVEDWITHAHASHVALUE,BUTTHENWANTTOACCESSTHEDATAFORTHATCUSTOMERBASEDONWHENITWASENTEREDASORTEDHASHCLUSTERISNOTAPPROPRIATEFORALLSCENARIOS,BUTTHERIGHTSITUATIONCANPRODUCELARGEPERFORMANCEBENEFITS中文翻译ORACLE是一个非常好的数据库,但它并不知道你想要做什么。因此,如果你想使用ORCAL来对数据进行查询时,你就必须使用精确的语句,告诉它你想要查询什么。例如,下列查询,虽然一个类似所示图1011,将不使用基于功能数值SELECTFROMSHCUSTOMERSSWHERECUST_LAST_NAMEUPPERRUDDY虽然你理论上选择使用了很标准的CUST_LAST_NAME语句,但你不能指望ORACLE能给你你想要的答案。这是一个很有代表性的简单的例子,但对于那些复杂的数据,你要记住,必须使用类似明确SQL语句来进行数据的查询等功能,这样会使你在对数据操作时避免一些潜在的错误的观点。QRACLE只会创作数据,即使用同样的功能,为基于功能的索引,实际上只是在表面加上无形基于功能的索引栏为实施这项为基于功能的索引,你可以通过以下的例子进一步的了解,来看例子CH10_CREATE_FBI_VIEWSQLCREATEORREPLACEVIEWSHFBI_VIEWASSELECTCUST_ID,UPPERCUST_LAST_NAMEUPPER_LAST_NAME,CUST_FIRST_NAME,CUST_LAST_NAME,CUST_STREET_ADDRESSFROMSHCUSTOMERS这个观点可以在图1014体现。在这我们有个疑问,你已经取代栏目名称链接至底层CUST_FIRST_NAME栏栏的名称,那么就应该定义UPPER_LAST_NAME。大家都知道ORACLE是不用这样的反复的定义就可以进行对数据的操作进操作。如图1014。很明显,这个疑问,告诉我们没有对数据明确的定义,ORACLE仍然可以挑选适当的数据进行操作。正如您所看到的数字,从至例子10到14,即使你没有给出明确的要求和明确的声明,ORACLE可以根据进行模糊的对数据的操作,可以无需其他开发商或最终用户,以了解功能,在使用该指数,但你仍然必须确保即使用模式要求执行任何特定的指标,功能为本,还是在其他方面。此外,还有一个买者对使用用户定义函数在一个基于功能指数功能必须确定性,这意味着该函数必须返回相同的价值观时,它被称为同同样的参数。这项限制是指功能,不能获得其他信息,如数据数据库中,在某种程度上可能影响其价值回来了。ORACLE数据库中的域指标索引功能。它有着对数据的容量的能力,您可以创建自己的数据,来对他们进行编辑和其他的操作,并创造新的指数各类基于这些操作员。域指标需要采取若干步骤,以创造。由于域名指标用于非标准情景,我们不会掩盖他们在这本书里。参考ORACLE文档为更详细的资料,对域指标。图表在QRCALE中有着直接对图表的操作,这种对图表的操作,是为了更快有效对数据库的操作而开发的,下面是一个典型的对数据库图表的例子,在数据库中有一个实表,在其中有着用户的数据表,表中有着数据,这是用来限制选择的信息从事实表。图1015表明,一个典型的星形模式,这些三维的图表都会在数据库中存储。图表数据还有着其他存储方式,其中有一个条目的每一个非空列于下表。在位图索引,每个值有一个位图,而且每个比特都有着数据。如图1016。位图索引的功能是来当一个查询需要选择几个不同的层面。ORACLE数据库服务器可以执行位运算符和或或运算对每一个位图索引,其执行速度非常快。你可以想象有多快,这可以由形象化每个点阵图指数作为冲床卡。寻求加入几种不同的价值观,你可以简单地看到一间针织针能渗透多重打孔卡售磬。这项行动与另类的定位每一个价值多元维指标,然后做了复杂的加入。虽然位图索引也可以用于任何栏或设置的栏目和一个低多少独特的价值观,或者基数,在实践中位图的指标是用来几乎完全与数据仓库。此外,还有一个很好的理由不使用位图索引与表用于在线交易处理(联机事务处理)。每当刀片是做一个表,任何指数的影响座已被锁定为期限较长的交易,只是作为一个数据块的影响,将须。为了使用位图指数中,甲骨文已减压的价值观,这将花费一些时间,使它们不宜联机事务处理的情况,其中有数以千计的小型交易同时进行。与其他类型的指标,可以看出强大的影响一个位图索引的性能与几个简单的疑问,对一个样本表与这种类型的指数。我们将使用表中的SH例如模式来与ORACLE10G数据库。首先,你可以运行查询,以决定销售的单一产品中使用位图索引,脚本CH10_BMI_1SQL,不需使用位图索引,脚本CH10_NO_BMI_1SQL。你可以见到成果,在数字1017和1018。位图索引造成了相当显着的性能差异,平均而言,简单的查询与位图索引了498秒,而同样的问题,平均上台1193秒无使用位图索引。这种差异就变得更加突出,当你运行较典型数据仓库查询,而将寻找产品数量出售给特定的客户为特别是推广。这个疑问,用3个位图索引与脚本CH10_BMI_2SQL和如图一所示,1019,运行时,平均来说,在519秒。同样的问题,其中不使用位图指标与脚本CH10_NO_BMI_2SQL,并显示在图1020,考虑了近3倍。长期平均来说,1434秒。点阵图加入指数位图加入指数,可以提高性能,在数据仓库中,更比位图索引。该点阵图加入指数使用同一存储计划,作为位图索引,但钻头在该指数显示,如何一表,一般是事实表,是加入到另一个表。查询可以用一个位图索引,而不考虑履行加入两桌,它可以在从而改善业绩,为一个共同演出,参加有时急剧变化。位图索引与点阵图加入指标,讨论了在正常背景下的商业情报,在第26章,“商务智能查询“。索引组织表在开始这一章中,我们描述的基本优点指标。基本上,他们让使用者能在数据同较少的I/O比表演一个完整的表扫描,在许多情况下。通常情况下,你的疑问,将要求资料以后发现,在该指数中,所以一旦甲骨文数据库已经选定适当指数入境后,数据库仍然要使用指针,在指数进入检索额外的信息在列。虽然获得通过指针索引入口是最快的方法,以获取连续在一张桌子,检索,还需要一些开销。消除这种开销可以加快质疑,甚至更多。进入索引组织表。这正好命名结构允许甲骨文以保持整个表的一个索引结构,因此同样效率所提供的一个指标是用来检索所有的数据在列。一个互操作性测试的商店都关键价值观和非关键价值在其网页。甲骨文提供了一个满溢的选择,让你显示,一些非关键的价值观被存放地以外的指标体系的基础上,储藏室可在实际指数座。因为互操作性测试是围绕着一个主要的关键值,你必须有一个主键定义为一个互操作性测试。因为互操作性测试通常不使用指数值指向同样的价值,在一个数据列,存储需求,为表和索引也不断降低。你可以有额外的指标,对一个互操作性测试。这些指标可以是标准的B树为基础的指标或位图索引和工作在以同样的方式为指标,对正常的表结构。这些额外指标使用逻辑连续编号的,而不是物理连续身分跟其他指数类型,以获取数据排在就座。如果一个互操作性测试连续使用溢流选项前面所述,物理连续的ID溢出面积部分的互操作性测试索引入口。有若干限制使用IOTS,如事实,即一个互操作性测试并不能遏制栏目长或任何一个品种的大对象数据类型,由于显而易见的原因。此外,互操作性测试不能存放在一组,这是形容在下一节。以及,当然,与所有潜在的性能增强的变化,你必须确保使用IOTS反而还会给你一个增益性能测试你的应用对标准表和IOTS。因为你的应用程序代码将是一样的,无论何种数据库结构,你使用,开关在这两者之间选择,是有可能与一些行政工作。数据集群一种数据的存储形式,在这一章中研究,作为一个数据,但在一个持不同的看法。ORACLE一般要在表中一排排补充说明它的属性,对属性的说明不需要有着任何特定的逻辑顺序。一组是一种存储表行,使他们的实际储存是有相关性,一组可容纳要么行,从一个单一的表或相关行,由一个以上的表。图1021显示块从一个群集表包含行,由部表和复表。集群是有组织利用集群的关键,价值是认同这两个统计表。在这个例子中,DEPT_NO表是集群的关键,因此同样的数据块包含行表示,有相同DEPT_NO作为排了部就座。这种类型的组织是有道理的,如果您需要经常存取相同的数据在一起。当甲骨文读取数据块,为事业部的价值,相关的电磁脉冲行,也被找回。一组还节省了存储空间,因为价值的集群,关键是只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购销合同范文
- 建筑材料采购合同协议书
- 劳动合同解除谈话笔录1
- 企业云计算资源使用合作协议
- 数字化合作框架下的远程工作协作合同
- 配电网升级改造合同
- 环保工程服务合同:全面解决方案
- 合同生命周期管理:物业财务关键制度
- 图书馆目视化管理
- 拆除工程中的文物保护与迁移策略考核试卷
- 医务人员不良执业行为记分管理制度
- 高中数学奥赛辅导教材(共十讲)
- 苏科版八年级数学下册常考点微专题提分精练难点特训(四)选填压轴50道(原卷版+解析)
- 《竞争对手的分析》课件
- 中国食品饮料市场调研报告
- 痛风中医护理常规
- 三年级下册乘除法竖式计算题100道
- 2024年4月全国自考概率论与数理统计(一)02024真题及答案
- 《岩土工程勘察安全》课件
- 《宫颈癌防治》课件
- 小学数学:时间教材
评论
0/150
提交评论