(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf_第1页
(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf_第2页
(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf_第3页
(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf_第4页
(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(控制理论与控制工程专业论文)基于数据挖掘技术的查询优化.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于数据挖掘技术的查询优化 摘要 世界进入信息时代后,随着计算机技术的迅猛发展,表示信 息的数据以指数速率快速增长,存放数据的数据库也随之急剧膨 胀。当从这样日益庞大的数据中查找数据,数据库查询速度不尽 人意。有资料表明,在现代工程项目中,技术人员工作时间的 1 0 一3 0 是用在寻找合适的信息上,而管理人员则有8 0 的时间是 用在信息的收集和准备上。为了给项目开发人员提供方便信息查 询,快速查找到所需要的信息,开发一个有效的查询系统很有必 要。可以说查询优化技术是当前一个极具有重要理论和应用价值 的研究课题,因此本文的主要目的就是研究一种可以提高查询优 化的新型解决方案,可以进一步实现查询速度的提高。 由于数据挖掘是从大量的、不完全的、有噪声的、模糊的、 随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜 在有用的信息和知识的过程,他可以根据人们的特定要求,从浩 如烟海的数据中找出所需的信息来。所以本文将数据挖掘技术得 到的信息,引进到查询优化技术当中,与传统的索引技术相结合 提出一种“基于数据挖掘技术的查询优化”方案,并对这种解决 方案的设计思想、设计法法、结果进行分析。 本文首先阐述我们进行研究的背景、目的、内容、意义。其 次,详细分析现阶段用于查询优化的各种技术,其中,重点分析 通过s q l 语句的优化来提高查询效率的原因、原理及方法以及索 引技术。然后通过对数据挖掘技术的分析,利用其关联规则可实 现的功能,阐述数据挖掘技术对s q l 语句进行优化从而实现查询 优化的原理和方法,也即我们对整个系统的设计思想。最后我们 将上述理论应用到日本证券系统中的“契约用模块”,进行测试和 实践取得了一定的效果。 本文最主要的创新点在于引进数据挖掘这样- - 1 3 新兴学科来 解决古老的数据查询问题,可以说是首创。我们的研究,通过利 用数据挖掘可以实现发掘数据之间的关系,缩小数据搜索空间, 与传统的索引技术相结合,实现了查询优化,实现了查询速度的 提高。本文还有一个创新点就是打破了以往数据挖掘的思路,不 仅仅是将数据挖掘结果用于给人们提供知识信息,以作出一些决 策,更主要的是将挖掘结果用精确数字表示,用于提供给计算机 作进一步的分析和处理。 总之,本文的研究成果主要是利用数据挖掘技术和索引技术 的结合,提出了一种基于数据挖掘技术的新型查询优化方案。利 用此技术实现查询效率进一步提高的目的。 关键词查询优化,s q l 语句,索引,数据挖掘,关联规则 t h e q u e r yo p t i m i z a t l 0 nb a s e do nd a t a m i n i n g a b s t r u c t a f t e rt h ew o r l de n t e r st h ei n f o r m a t i o na g e ,a l o n gw i t ht h e c o m p u t e rt e c h n o l o g ys w i f ta n dv i o l e n td e v e l o p m e n t ,i n d i c a t e dt h e i n f o r m a t i o nd a t ab yt h ei n d e xs p e e df a s tg r o w t h ,s t o r e st h ed a t at h e d a t a b a s ea l s os u d d e n l yt oi n f l a t ea l o n gw i t hi t w h e ns e a r c h e st h ed a t a l i k et h i sd a yb yd a yf r o mt h eh u g ed a t a ,t h ed a t a b a s ei n q u i r ys p e e di s u n s a t i s f a c t o r y s o m e m a t e r i a l s i n d i c a t e d ,i nm o d e me n g i n e e r i n g p r o j e c t ,t h et e c h n i c a lp e r s o n n e lo p e r a t i n gt i m eo p e r a t i n gt i m e10 一3 0 i su s e si ns e e k si nt h e a p p r o p r i a t ei n f o r m a t i o n ,b u t a d m i n i s t r a t i v ep e r s o n n e lt h e nh a s8 0 t i m ei su s e si nt h ei n f o r m a t i o n c o l l e c t i o na n dt h ep r e p a r a t i o n i no r d e rt op r o v i d e st h ec o n v e n i e n t i n f o r m a t i o ni n q u i r yt ot h ep r o j e c td e v e l o p m e n tp e r s o n n e l ,f a s tl o o k s u pt h ei n f o r m a t i o nw h i c hf o u n dn e e d s ,d e v e l o p sa ne f f e c t i v ei n q u i r y s y s t e m t oh a v et h e n e c e s s i t yv e r ym u c h m a ys a yt h ei n q u i r y o p t i m i z a t i o nt e c h n o l o g yi sc u r r e n th a st h ei m p o r t a n tt h e o r ya n dt h e a p p l i c a t i o nv a l u er e s e a r c ht o p i ce x t r e m e l y , t h e r e f o r et h et h i sa r t i c l e m a i ng o a li ss t u d i e so n ek i n dt ob ep o s s i b l et oe n h a n c et h en e w s o l u t i o nw h i c ht h ei n q u i r yo p t i m i z e s ,m a yf u r t h e rr e a l i z et h ei n q u i r y s p e e de n h a n c e m e n t b e c a u s et h ed a t am i n i n gi sf r o mm a s s i v e ,n o ti n c o m p l e t e ,h a st h e n o i s e ,i sf u z z y , i nt h es t o c h a s t i cd a t a ,w i t h d r a w st h ec o n c e a l m e n ti n a m o n g ,t h ep e o p l eb e f o r e h a n dd o e sn o tk n o w , b u ta l s oi st h el a t e n t u s e f u li n f o r m a t i o na n dt h ek n o w l e d g ep r o c e s s ,h em a ya c c o r d i n gt o t h ep e o p l et h es p e c i f i cr e q u e s t ,d i s c o v e r st h ei n f o r m a t i o nf r o mt h e v o l u m i n o u sd a t aw h i c hn e e d s t h e r e f o r et h i sa r t i c l eo b t m n st h ed a t a m i n i n gt e c h n o l o g y t h e i n f o r m a t i o n ,i n t r o d u c e s t ot h e i n q u i r y o p t i m i z a t i o nt e c h n o l o g y , u n i f i e sw i t ht h et r a d i t i o n a li n d e xt e c h n o l o g y p r o p o s e do n ek i n d ”b a s e do nt h e d a t am i n i n gt e c h n o l o g yi n q u i r y o p t i m i z a t i o n ”t h ep l a n ,a n dt ot h i sk i n do fs o l u t i o nd e s i g nt h o u g h t ,t h e d e s i g nl a wl a w , t h er e s u l tc a r r i e so nt h ea n a l y s i s t h i sa r t i c l ef i r s te l a b o r a t e dw ec o n d u c tt h er e s e a r c ht h e b a c k g r o u n d ,t h eg o a l ,t h ec o n t e n t ,t h es i g n i f i c a n c e n e x t ,f , t h e m u l t i a n a l y s i sp r e s e n t s t a g eu s e si ne a c hk i n do ft e c h n o l o g yw h i c h i n q u i r e so p t i m i z e s ,a m o n g ,t h ek e ya n a l y s i se n h a n c e st h ei n q u i r y e f f i c i e n c yt h r o u g ht h es q ls e n t e n c eo p t i m i z a t i o nt h er e a s o n ,t h e p r i n c i p l ea n dt h em e t h o da sw e l la s t h ei n d e xt e c h n o l o g y t h e n t h r o u g ht ot h ed a t am i n i n gt e c h n o l o g ya n a l y s i s ,u s e st h ef u n c t i o n w h i c hi t sc o n n e c t i o nr u l e m a yr e a l i z e ,e l a b o r a t e dt h ed a t am i n i n g t e c h n o l o g yc a r r i e so nt h ep r i n c i p l ea n dt h em e t h o dt o t h es q l s e n t e n c ew h i c ht h eo p t i m i z a t i o nt h u st h er e a l i z a t i o ni n q u i r yo p t i m i z e s , a l s oi sw et ot h eo v e r a l ls y s t e md e s i g nt h o u g h t f i n a l l yw ea p p l yt h e a b o v et h e o r yt ot h ej a p a n e s en e g o t i a b l es e c u r i t i e ss y s t e mi n ”t h e c o n t r a c tw i t ht h em o d u l e ”,c a r r i e do nt h et e s ta n dt h ep r a c t i c eh a s o b t a i n e dt h ec e r t a i ne f f e c t o u rr e s e a r c h ,t h r o u g hm a yr e a l i z e u s i n g t h ed a t am i n i n g e x c a v a t e sb e t w e e nt h ed a t at h er e l a t i o n s ,r e d u c e st h ed a t as e a r c hs p a c e , u n i f i e dw i t ht h et r a d i t i o n a li n d e xt e c h n o l o g y , h a sr e a l i z e dt h ei n q u i r y o p t i m i z a t i o n ,h a sr e m i z e dt h ei n q u i r ys p e e de n h a n c e m e n t t h i sa r t i c l e a l s oh a di n n o v a t i o nh a sb r o k e nt h ef o r m e rd a t am i n i n gm e n t a l i t y , w a s n o tm e r e l yu s e si nt h ed a t am i n i n gr e s u l tt ot h ep e o p l ep r o v i d i n gt h e k n o w l e d g ei n f o r m a t i o n ,b ym a d es o m ed e c i s i o n s m a k i n g ,w h a tw a s m a i nw a se x c a v a t e st h er e s u l tw i t ht h ep r e c i s ed i g i t a lp r e s e n t a t i o n , u s e di np r o v i d i n gt ot h ec o m p u t e rm a k e st h ef u r t h e ra n a l y s i sa n d p r o c e s s m g i nb r i e f , t h i sa r t i c l er e s e a r c hr e s u l t sm a i n l ya r eu s et h ed a t a m i n i n gt e c h n o l o g ya n dt h ei n d e xt e c h n o l o g yu n i o n ,p r o p o s e do n ek i n d b a s e do nt h ed a t am i n i n gt e c h n o l o g yn e wi n q u i r yo p t i m i z a t i o np l a n g o a lf u r t h e re n h a n c e sw h i c hu s i n gt h i st e c h n i c a lr e a l i z a t i o ni n q u i r y e f f i c i e n c y z h a il i ( c o n t r o ls c i e n c ea n dc o n t o r ! e n g i n e e r i n g ) s u p e r v i s e db ys h ij i n h u a k e yw o r d s q u e r yo p t i m i z a t i o n ,s q l ,i n d e x ,d a t am i n i n g ,a s s o c i a t i o n 附件一: 东华大学学位论文原创性声明 本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学何论文,是本人在导 师的指导f ,独立进行研究j = 什所取得的成果。除文中已明确注明和引的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品及成果的内容。论文为本人亲 自撰写,我对所写的内容负责,并完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 2 0 6 年 q 日 、t b 璐佛月 附件二: 东华大学学位论文版权使用授权书 学位论文作者完全了解学授有笑保留、使川学何论文的规定,同意学校保留升向国 家有戈部fj 或机构送交论文的复印彳,i 和电子版,允许论文被查阅或借阅。本人授权东华 大学可以将本学位论文的全部或部分内容编入有天数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存和汇编本学伊论文。 保密口,在年解密后适用本版权持。 本学位论文属于 不保密口。 学位论文作者签名 日期:1 0 口b 年1 月 日 箍丽指导教师签名 径粤 | 日期:年月 日 基丁数据挖掘技术的杏洵优化 1 1 课题的背景 第一章绪论 随着当今社会信息化的高速发展和国家各项工程建设的逐步深入,计算 机应用系统被广泛应用在各部门。数据库系统成为绝大多数信息系统的核心, 成为企业信息系统必不可少的组成部分,数据库产业的发展对整个国民经济 和社会信息化过程都起到重要的作用。数据库技术的迅速发展和信息系统的 广泛应用,提高了管理效率同时也促成了海量数据的积累。与此同时,随着 计算机技术和数据通信及网络的蓬勃兴起和迅速发展,在当今社会无论是科 技信息、经济信息、社会信息、政治信息、军事信息还是人文信息,都在以 指数速率迅速增长。所占数据库的容量也迅速扩大。一些大规模的系统,如 证券系统、银行系统、人口系统的数据甚至超过了1 0 0 0 万条,可谓海量。 在数据库日益成为企业运作信息系统的核心和商业信息不断地收集、存 储、增长,数据库技术所存在的问题不断显现出来。从大多数现今系统的应 用实例来看,查询操作在各种数据库操作中所占比重最大,因此对于如此这 些庞大的数据库,在进行访问查询时,会遇到系统响应时间过长,占用系统 资源过多等问题。有资料表明,在现代工程项目中,工程技术人员工作时间的 1 0 9 6 3 0 是用在寻找合适的信息上,而项目管理人员则有8 0 的时| 日j 是用在 信息的收集和准备上,这些部说明查询速度成为影响系统性能的瓶颈,因此, 数掘查询的效率已成为影响数掘库应用系统整体性能的其中一项重要指标, 数掘查询速度已成为衡量应用系统成败的标准。如何对数掘库进行快速访问, 如何提高系统响应时问,如何以满足用户浏览的速度得到查询结果,以及如 何给项目开发组成员和项目管理者提供完备的信息和便捷的查询手段就十分 基丁数据挖掘技术的卉洵优化 必要,成为亟待解决的难题,成为数据库技术成败的关键,成为当今影响所 有企业信息系统所关注的重中之重。因此,查询优化技术这个既古老又常新 的问题当然也是当前数据库技术关注的热点。这也i f 是我们选取这样一个数 掘库技术问题进行课题的背景原因。 1 2 课题的目的 基于数据库查询技术研究的迫切性和重要性。本论文提出一种“基于数 掘挖掘技术的查询优化”方案,进行这样的课题研究主要目的有以下几个方 面: 第一:查询优化技术的目标就是希望可以以最快的响应速度准确地 找到符合条件的记录,希望可以尽可能少的磁盘访问从而获得所需要的数据。 所以我们进行此课题研究的目标也就是应用各种当今可用的科学知识,争取 在尽可能短的时间内得到正确的数据,不断追求数据库查询效率的提高。 第二:本文将数据挖掘技术引入查询技术中,和传统的索引技术相结合 产生一种新的解决方案。本文主要讨论此方案的原理、实施方法及查询优化 的效果,希望通过对数据挖掘技术的灵活应用,通过这一种解决方案为数掘 查询优化丌拓一种新的思路,在我们对传统查询优化的思想的基础上做进一 步的扩充。希望本文可以在查询优化领域作进一步的分析和探讨,希望我们 所研究的查询优化技术可以在理论上为查询优化技术做出进一步的贡献,并 希望通过我们的研究在技术和工程中都取得良好的应用效果,在实际应用系 统开发中可以为应用系统起到体查询速度从而提高系统性能的作用。 第三:我们的研究成果将应用于r 本证券系统的“契约用模块”。因此我 们进行这样的研究目的是在此证券系统的查询问题中应用这样一个新的系统 发挥作用,提高系统查询效率。 2 基丁数据挖捌技术的杏询优化 1 3 课题的内容 本论文提出在数据库查询系统中实现“基于数据挖掘技术的查询优化方 案”。为完成“基于数据挖掘技术的查询优化方案”主要需要研究的内容有: 第一:分析研究查询优化的原理和方法,分析现阶段查询优化研究的方 法、成果及可以改进的技术点。选择可以改进点,以提高查询效率为目标丌 始查询优化研究。 第二:分析数据挖掘技术的特点、思想及作用,利用数据挖掘技术研究 设计一种适于查询优化的新型查询优化系统,达到查询速度提高的目的。 第三:针对上述两个方面,在实习期间将我们所设计的“基于数据挖掘 技术的查询优化方案”应用于实际的“证券系统”当中,为解决系统当中的 查询优化问题进行研究。 总之,在本课题中我们研究了目i j i 的查询技术现状,特别是针对s o l 语 句进行优化的查询技术情况作了深入的调查,在总结他人对于查询优化技术 研究的基础上,结合信息领域的新技术数据挖掘技术,实现了将s o l 语 句查询优化技术和数据挖掘技术相结合,形成了一种新型的查询优化解决方 案,实现了数据库查询优化进一步的速度提高。 1 4 课题的意义 1 4 1 课题的理论意义 课题的理论意义在于:数据库查询是数据库系统中的操作基础,提高查 询效率的理论研究对今后数据库系统性能的提高具有重要的指导意义。此外 数掘库查询系统虽然是从数据诞生的第一天起就被人们所讨论的问题,但经 过几十年的发展,其理论仍处于不断完善、深化之中。我国从最近几十年以 束,才丌始对查询优化进行研究,同国外的查询优化技术还有很大的差距, 甚至是原样采用付界先进技术,所以任何可以提高查询效率的方法都将会对 3 基丁数据挖捌技术的杏向优化 查询优化技术做出重要的贡献。本文的研究与探讨不仅对我们所面临系统的 查询优化作出了系统的研究设计和较为深入的分析,而且对我国数据库查询 优化理论的发展和完善也有一定的补充作用。 1 4 2 课题的实践意义 课题的实践意义在于:我国现在正在走信息产业化,目i i i 大大小小的企 业都已进入信息管理的时代,企业信息都将使用数据库进行存储和处理,还 有大部分的企业整个运营都基于自己的信息管理平台进行企业运作和管理。 其中信息管理系统将更多的需要和数据库进行交互和访问。本文结合同本野 村证券系统实际项目情况,讨论了如何更进一步提高数据库查询速度,提出 新型查询方案。为今后我国数据库的开发建设具有一定的借鉴作用。 1 5 来源和组织 本课题来源于在对“日方证券系统”开发实习期间,对查询优化实际问 题的分析、研究和应用。其研究内容是商业“基本模块”国内债券商品基本 信息的应用模块的查询问题,其目标是在查询商品基本信息时可以尽可能的 争取最短搜索时日j ,因为基本的信息将被整个系统的各个模块快所使用,所 以尽可能得提高基本信息的搜索将会到来整个系统性能得提高。在本文中将 采用数据挖掘技术来研究查询优化问题。 本文结构如下:第一章绪论。以上首先介绍了我们进行此课题研究的背 景、目的、研究内容、研究意义,大致对我们进行此课题的研究做出了一个 概述。第二章我们将重点分析现阶段进行查询优化技术的方面和方法,重点 对s q l 语句调整进行查询优化的方法作详细说明,并重点说明索引技术在查 询过程中的作用。第三章进行数据挖掘技术简介,说明数掘挖掘技术的概念、 思想、分类和进行数掘挖掘的基本过程,并对数据挖掘技术中的关联分析进 行主要讨论。第四章提出问题模型,针对此模型分析目的的几种解决方案, 说明其各自的优劣,并提出利用数据挖掘技术的改进方案,最后对新型改进 4 基丁数据挖掘技术的卉洵优化 方案进行可行性分析。第五章详细介绍我们对“基于数据挖掘技术的查询优 化方案”的设计方案,对模块设计、算法设计以及丌发步骤作详细说明,并 对集中解决方案的执行效率进行比较。第六章将新型查询优化原理运用于实 际问题证券系统的契约用模块,并在实际运行中分析查询优化效果。最 后一章总结全文的工作,并对未束的研究做出建议和展望。 5 基丁数据挖掘技术的卉询优化 第二章查询技术现状 在当今的信息技术时代,随着信息技术的发展,随着时间的推移,人们 采集数据的手段f 1 益丰富与高明,数据库已经成为管理信息的基本工具和必 需的工具。由此积累的数据日益膨胀,数据量达到g b 甚至t b 级。数据库中 的数据量同益增加,这些海量数据使得传统的查询手段相形见绌,因而数据 库的最重要特征之一在于把其性能维持在可接受的水平上。实际应用中,影 响数据库性能的源头非常多,为实现提高性能的目的,目i j 针对查询优化技术 主要有以下几个方面的策略:环境调整、数掘库设计、数据库系统性能调整、 s q l 调整等。本章将针对以上几个方面进行讨论分析。 2 1 环境调整 环境调整主要是硬件升级,主要包括服务器、网络、磁盘等的升级“3 , 即投入大量资金购买专业的数据库服务器,采用先进的存储介质,以及更换 网络设备等。希望可以通过借助硬件设备性能的提高来加速数据库运行的速 度。当| j 提高硬件性能,主要对以下几方面进行性能提高。 i c p u :在任何机器中c p u 的数据处理能力往往是衡量计算机性能的一个 标志,并且当今的大型数掘库软件( 例如0 r a c l e ) 是一个提供并行能力的数 据库系统,在c p u 方面的要求就更高了,如果运行队列数目超过了c p u 处理 的数目,性能就会下降,所以目前常常通过增加c p u 的数量柬缓解c p u 性能 不足带束的性能问题“1 。 2 内存:衡量机器性能的另外一个指标就是内存的多少了,目前的数据库 软件,在数据库中的交换区进行数据交换,读数据时,内存的消耗费长大,如 果没有足够的内存空日j ,磁盘i o 必须等待物理i o 操作完成,所以适当的 6 基丁数据挖掘技术的商洵优化 增加内存可以减少内存瓶颈,从而提高系统性能。 3 网络条件:n e t * s q l 负责数据在网络上的来往,大量的s o l 会令网络 速度变慢。比如i o m 的网卡和1 0 0 m 的网卡就对n e t * s o l 有非常明显的影响, 还有交换机、集线器等网络设备的性能对网络的影响也很明显,目前在网络 中通常在任何网络中不用3 个集线器来将网段互联。 由于最新技术的硬件产品和性能优秀的硬件产品价格都十分昂贵,所以 对大多数企业来说,提高硬件的性能,无疑将大大提高了成本,而且对于如 此大的投资即使是硬件性能提高了,如果软件不能很好的利用硬件的性能, 也不能达到期望的结果,这样会产生巨大的浪费。 2 2 数据库设计 为提高数据库的性能,开发阶段对数据库进行很好的设计也是很重要的 一步。遵守逻辑库规范化规则的设计会产生较少的列和更多的表,因而也就 减少了数据冗余,也减少了用于存储数据的页。 规范化设计:关系模式规范化设计的基本思想是通过对关系模式进行分 解,用一组等价的关系子模式来代替原有的关系模式,消除数据依赖( 包括函 数依赖和多值依赖) 中不合理的部分,使得一个关系仅描述一个实体或者实体 i b j 的一种联系。这一过程必须在保证无损连接性、保持函数依赖性的i i 提下 进行,即确保不破坏原有数据,并可将分解后的关系通过自然联接恢复至原 有关系。具体地说,规范化设计的过程就是按不同的范式,将一个二维表不 断地分解成多个二维表并建立表之间的关联,最终达到一个表只描述一个实 体或者实体问的一种联系的目标。目自u 遵循的主要范式包括ln f 、2n f 、3 n f 、b c n f 、4 n f 和5 n f 等几种;在工程中3 n f 、b c n f 应用得最广泛,推荐采 用3n f 作为标准。规范化设计的优点包括可有效地消除数据冗余,理顺数 据的从属关系,保持数据库的完整性,增强数掘库的稳定性、伸缩性、适应 性。 7 基丁数据挖掘技术的有啕优化 通常认为规范化设计存在的主要问题是表关系需要通过复杂的合并来处 理,这样增加了查询时的连接库表运算,导致计算机时间、空间、系统及运 行效率的损失,这样会降低系统的性能。在当f ;i ,可以说某种程度上的非规 范化可以改善系统的性能。非规范化过程可以根据性能方面不同的考虑用多 种不同的方法进行。在大多数情况下,这一问题可通过良好的索引设计等方 法得到解决。 非规范化设计非规范化设计的基本思想是,现实世界并不总是依从于某 一完美的数学化的关系模式。强制性地对事物进行规范化设计,形式上显得 简单化,内容上趋于复杂化,更重要的是导致数据库运行效率的减低。非规 范化要求适当地降低甚至抛弃关系模式的范式,不再要求一个表只描述一个 实体或者实体问的一种联系。其主要目的在于提高数据库的运行效率。非规 范化处理的主要技术包括增加冗余或派生列,对表进行合并、分割或增加重 复表。一般认为,在下列情况下可以考虑进行非规范化处理:( 1 ) 大量频繁的 查询过程所涉及的表都需要进行连接;( 2 ) 主要的应用程序在执行时要将表 连接起来进行查询;( 3 ) 对数据的计算需要临时表或进行复杂的查询。非规范 化设计的主要优点是减少了查询操作所需的连接:减少了外部键和索引的数 量;可以预先进行统计计算,提高了查询时的响应速度。 非规范化存在的主要问题是增加了数据冗余;影响数据库的完整性;降 低了数据更新的速度;增加了存储表所占用的物理空间。其中最重要的是数 据库的完整性问题。这一问题一般可通过建立触发器、应用事务逻辑、在适 当的时日j 间隔运行批命令或存储过程等方法得到解决。 2 3 数据库系统性能调整 数据库系统性能调整问题是一个比较大的研究范畴,涉及的层面也非常 复杂,对任意一款数掘库产品都是一门很深的学科,有自己一整套完整的理 论体系。性能的调整主要包括实例调整、对象调整、应用调整等。对限于篇 8 基丁数据挖掘技术的有洵优化 幅这咀只对两个主要方面进行阐述。 2 3 1 实例调整 实例调整主要是对s g a 内存区和数掘库后台处理进程的调整“1 。实例层 的大多数性能的提高将通过两个方面达到:内存使用和磁盘输入输出。系统 全局区( s g a ) 是一个分配给数据库实例控制信息的内存段,调整合适的参数 可以提高系统的命中率和减少i o ,可调整的参数主要是d bb l o c kb u f f e r s , s h a r e p o o ls i z e ,o p e n _ c u r s o r s ,s o r t _ a r e a _ s i z e 等。分配额外的 d b _ b l o c k _ b u f f e r s ,可允许更多的数据块数据保持在内存中,因此可以按内 存速度访问包含在这些块中的数据,而不需要磁盘输入输出。分配额外的共 享池将使字典缓存区和共享s q l 区增加大,特定s q l 语句被解析并且驻留在 共享s q l 区就越有可能,因此节省了需要再次处理这个语句的时间。调整s g a 确保库高速缓存足够大,可使数据库在共享池中保持分析和执行语句,提高 语句分析和执行效率,降低资源消耗。由于应用系统的复杂性较高,我们很 难将参数调整到使应用系统的所有环节性能达到最优,我们所能做的只是对 应用系统不同方面的性能做出权衡,将系统调整到一个使用户较为满意的状 态。 2 ,3 2 对象调整 对象调整主要就是对所有的存储参数进行正确的设置。数据库的对象还 包括索引、过程、包等,对对象的调整还包括对他们的调整。其中索引是一 种优化数据查询和排序操作的数据库实体,正确配詈的索引对查询操作尤其 重要,添加索引可以通过访问索引的方式直接获得记录的物理位置,索引的 建立可以避免全表扫描,可以在不改变表的物理结构的情况下,直接访问特 定的数掘列,从而达到快速访问表的目的,可以明显提高查询性能。 2 3 3 其他 此外还有分区技术:分区的思想是将一个非常大的表或索引,分解为较 9 基丁数据挖掘技术的青啕优化 小的更容易管理的部分,分解后的这些部分成为该表或索引的一个分区。当 表或索引地给以分区后,可用s q l 语句独立访问和维护这些分区,而不必处 理整个大表或索引,这样就能提高对这些达标的处理速度,从而改善整个数 掘库的性能。对对象的调整,也是数据库性能调整的关键,目前如何可以最 优化的调整对象参数也是在实践中需要进一步研究的课题6 1 。 2 4s o l 语句调整 2 4 1s o l 语句定义 s q l 语言,就是指s t r u c t u r e dq u e r yl a n g u a g e ( 结构化查询语言) ,1 9 7 4 年由b o y c e 和c h a m b e r l i n 提出。它是关系数据库语言的工业标准,是目前使 用最广泛的数据库语言。s q l 语言是一种介于关系代数与关系演算之问的结 构化查询语言,集数据查询、数据操纵、数据定义和数据控制功能于一体, 用来和数掘库打交道,从数据库中得到用户需要的数据”1 。 2 4 2s o l 语句优化原因 人们在使用s q l 时往往会陷入一个误区,即太关注于所得的结果是否正 确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大 型的或是复杂的数据库环境中( 如联机事务处理o l t p 或决策支持系统d s s ) 中表现得尤为明显。 由于实现相同功能的s q l 语句并不唯一,在实际的数据库应用程序中我 们会发现:在数掘库应用系统中编写可执行的s q l 语句可以有多种方式实现, 相同功能的s q l 语句,使用不同的写法来实现,在性能上会产生非常大的差 异,执行效率也会千差力别。“3 举例来说,如果数掘量积累到一定程度,比 如数据库表信息积累到上百万甚至上千力条记录,扫描一次全表有的s o l 语 句可能只需要数十分钟,有的s q l 语句可能要花费甚至数小时。由此可见, 对于海量数据,优质s q l 语句和劣质s q l 语句之i 日j 的速度差别可以达到上百 倍,因此对于一个系统不是简单地能实现其功能就可,而是需要写出高质量 l o 基丁数据挖掘技术的卉询优化 的s q l 语句,提高系统的可用性。因为如果采用比全表扫描更好的查询策略, 也即使用更好的s o l 语句,往往可以使查询时间降为几分钟,大大提高数据 库查询速率。 以上一点体现了优化s o l 语句的意义,但对s o l 语句优化还有以下一些 直接原因: 1 :s q l 语句是对数据库( 数据) 进行操作的惟一途径,应用程序的执行 最终要归结为s q l 语句的执行,s o l 语句的效率对数掘库系统的性能起到了 决定性的作用。 2 :s q l 语句消耗了7 0 9 0 的数据库资源,所以要优化s q l 语句合理利 用数据库资源。 3 :s q l 语句独立于程序设计逻辑,对s q l 语句进行优化不会影响程序逻 辑,s q l 语句的优化在时日j 成本和风险上的代价都很低。 4 :不需要硬件的投资和额外的开销,但却会产生明显的效果。 5 :s q l 语句可以有不同的写法,不同的写法在性能上的差异可能很大, 采用好的查询策略会给查询技术带来极大的优化,还可以节省极大的经济开 销。 基于上述几点,说明了s q l 语句优化的主要原因。因此本文也从优化s q l 语句着手进行查询优化的研究。 虽然从优化s q l 语句入手提高查询效率快捷方便、成效大,但是,实际 中也存在s q l 语句易学,难精通的问题,需要经验丰富的优秀程序员4 。可能 最好的掌握s o l 语句的精华“1 。而且s q l 语句的性能也往往同实际运行系统 的数掘库结构、记录数量等有关,不存在普遍适用的规律来提升性能。所以 如何方便的丌发性能优秀的s q l 语句,避其短,扬其长将是一个新的课题。 2 4 ,3s o l 调整原理 在想要知道如何书写s q l 语句j 能得到最佳的执行效率之前,还需要分 基丁j 数据挖掘技术的存啕优化 析s q l 语句在数掘库中被执行的过程及原理,只有清楚s q l 语句在数掘库中 被执行的过程及原理j 能按照s o l 语句的执行原理,编写使用资源最少,查 询方案最佳的s q l 语句从而实现查询优化。 s o l 执行原理如下图所示: 图2 1 查询执行是执行在查询优化过程中所选择的计划的过程。查询执行组件 还确定查询优化器可用的技术。其中查询处理器中的查询优化子模块将对以 下问题进行决策:( 1 ) 操作执行的顺序:( 2 ) 关系的存取方法:( 3 ) 操作的执行算 法( 特别是联结操作) :( 4 ) 不同站点之| 日j 数据流动的顺序。从上图我们可以看 到s q l 语句在被执行时,首先数据库系统将户所提交的s o l 语句的集合作为 一个查询计划,然后查询计划由r d b m s ( 查询优化) 来处理。在处理的过程中 将对查询语句的词法、语法进行检查,亦即将查询语句转换成按某种有用方 式表示查询语句结构的语法树。检查之后,把语法分析树转换成关系代数表 达树( 或某种类似标记) ,此称之为逻辑查询计划。逻辑查询计划必须转换为 物理查询计划,物理查询计划不仅指明了要执行的操作,而且也找出了这些 操作执行的顺序、执行每步所用的算法、获得所存储数据的方式以及数据从 一个操作传递给另一个操作的方式,优化器做完代数优化和存取路径的优化 之后,由预编译模块对s o l 语句进行处理并生成查询规划,然后在合适的时 间提交给系统处理执行,最后将执行结果返回给用户。 在查询优化阶段,查询处理器选择:执行联接的顺序、类似w h e r e 子句 基丁数据挖掘技术的杏询优化 的约束的应用顺序、根据从统计数据导出的成本核算信息,采用哪些算法有 望达到最佳性能。查询处理器接受s o l 语法、确定如何执行该语法,并执行 选择的计划。在执行计划选择时,对于每个s q l 语句,优化程序选择一个执 行计划,描述执行s q l 时的所有步骤,如访问表的顺序、如何将这些表联接 在一起,以及是否通过索引来访问这些表。优化程序为每个s q l 语句设计许 多可能的执行计划,并选出最好的一个。因此在写查询语句时首先应参考系 统提供的优化路径确保数据库能使用最好的编译和优化方法。 在过程中,用户或程序与查询处理器交互,而查询处理器与存储引擎交 互。注意,查询处理器将用户与执行的详细情况隔离开:用户决定结果,查 询处理器确定该结果是如何获得的。查询优化是选择执行得最快的计划的过 程。 在查询处理器进行优化过程中,可以改变数据库查询执行计划,即连接 手段、关系代数、获得所存储数据方式的是:用户所使用的查询语句中的 w h e r e 字句。在s o l 语句的w h e r e 字句中采用不同的写法,将会使数掘库产 生不同的执行计划。优化器分析查询语句时会决定那个子句可以被优化,然 后进行优化,其中最主要的是针对可以被优化查询的子句来选择有用的索引。 如果没有索引,那么使用表扫描的方法访问数据库中的数据。如果存在索引, s q l 语句在数掘库执行时,它计算出w h e r e 子句中的搜索条件并确定哪个索 引能缩小表扫描的搜索空间,也就是说,s q l 语句在被执行期间其索引可以 影响到查询操作的执行方法,恰当的索引能保证查询总开销和总时间为最小, 实现自动优化从而提高查询效率。所以通过s o l 语句执行原理的分析,我们 将优化策略锁定在建立合适的索引,希望通过索引使查询优化器生成最佳执 行策略,从而减小查询丌销和查询时间达到最优化查询。 2 4 4s o l 优化与索引 一般地,系统访问数据库中的数掘,可以使用两种方法。第一种方法是 1 3 基丁数据挖掘技术的杏询优化 表扫描,就是指系统将指针放置在该表的表头数掘所在的数掘页上,然后按 照数据页的排列顺序,一页一页地从前向后扫描该表数掘所占有的全部数据 页,直至扫描完表中的全部记录。在扫描时,如果找到符合查询条件的记录, 那么就将这条记录挑选出来。最后,将全部挑选出来符合查询语句条件的记 录显示出来。第二种方法是使用索引查找。 通过以上对s q l 执行原理的分析可以发现s q l 语句优化过程中索引会起 到重要作用。索引之所以可使查询优化器生成最佳执行策略,是因为索引去 掉不必要的全表扫描、避免了不必要的输入输出、得到了较优的操作执行的 顺序、获得了较好的所存储数据的方式,从而使用索引来更快地遍历表达到 提高查询性能。 索引的定义:索引( i n d e x ) 是除表之外另一重要的、用户定义的存储在 物理介质上的数据结构。它是建立在表的- - n 或多个列上的辅助对象,加速 检索表中记录的一种关键字组成的树状结构,其中存储了关键字和指向包含 关键字所在记录的数掘页的指针,当使用索引查找时,系统沿着索引的树状 结构,根据索引中关键字和指针,找到符合查询条件的的记录。最后,将全 部查找到的符合查询语句条件的记录显示出来。索引是一种优化数据查询和 排序操作的数据库实体,正确配置的索引对只有查询操作的数据库应用尤其 重要,避免全表扫描,在不改变表的物理结构的情况下,直接访问特定的数 据列,可以加快对表中数掘的检索速度和排序速度。 索引对s o l 优化的实质就是在结果j 下确的前提下,用优化器可以识别的 语句,充份利用索引,减少表扫描的i 0 次数,尽量避免表搜索的发生,从 而使查询总时间大大减少。就是说通过w h e r e 子句利用索引,避免发生表扫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论