多条件分页查询优化的设计方法

多条件分页查询优化的设计方法第36卷Vo1.36第2期No.2计算机工程ComputerEngineering2010年1月January2010?软件技术与数据库?t1000---3428(2010)02--0051--02文献标识码tA中田分类号.TP311多条件分页查询优化的设计方法李辉,王墙波(北京化工大学信息科学与技术学院,北京100029)摘要:随着数据量的不断增加,数据库的分页查询效率成为提高数据库访问性能的重要问题.从分析影响分页查询速度的关键因素入手,结合优化器中SQL语句的优化原理和分页算法,通过理论推导和实验结果的分析,提出分页查询优化的设计方法.将该方法应用于实际系统的分页框架中,取得了较好的效果.关健词:优化器;查询优化;分页框架DesignMethodsofMulti?conditionPagingQueryOptimizationLIHui.WANGRui-bo(CollegeofInformationScienceandTechnology,Bei激ngUniversityofChemicalTechnology,Bei激ng100029)[Abstract]Withtheincreasingamountofdata,pagingqueryefficiencyofdatabasebecomesanimportantissuetoimprovetheaccessperformanceofdatabase.Thispaperbeginswiththeanalysisofkeyfactorswhichimpactthespeedofpagingquery,combiningwiththeoptimizationtheoryofSQLstatementintheoptimizeddeviceandpagingalgorithms,andthroughtheanalysisoftheoreticalinfersandexperimentalresults,topointoutdesignmethodsofpagingqueryoptimization.Itachievesgoodresultstoimplythemethodsintopagingframeworkofactualsystems.[Keywords]optimizer;queryoptimization;pagingframework数据库查询是数据库的核心操作.在查询中,查询优化是利用查询优化器对SQL语句进行优化,并使SQL执行代价最小….文献【2】从SQL角度,阐述SQL查询语句高效执行方法.文献【3】介绍查询表达式优化的一般过程,在查询重写阶段提出一种面向对象的框架,设计并实现了"多字段间关系自动推理"等若干种优化方法.上述方法在优化查询语句上起很大作用.随着关系数据库在B/S体系结构上的广泛应用,庞大的数据很难在一页显示,为了进一步提高数据量达到千万条以上的分页查询速度,寻找高效率分页方法是十分必要的.1分页查询优化方法数据库分页查询处理的开销通常取决于2个方面:一是磁盘读写的I/O次数;二是CPU的处理时间.1.1减少蠢盘读写的I/O次数的方法数据的查询处理的代价通常取决于对磁盘的访问,因为磁盘比内存的访问速度慢.因此,应该尽量减少对I/O设备的访问或者提高I/O设备访问的并发率.提高数据库系统效率的有效方法是建立聚焦索引.聚焦索引的建立,使得关系中数据的逻辑顺序和在磁盘上的物理存储顺序数据相邻排列,使得SQL语句在检索时,只检索索引项有效范围内的数据,而对于超出索引项值的数据SQL语句将不再访问,这样就减少了数据的访问量及访问次数,提高了查询效率O对于执行一个形式为(r)的选择操作,如果在关系attr上无索引,除了扫描整个关系r之外可能没有其他的选择,假定关系r占据的磁盘页数为F,那么这个过程需要F次传输.然而,如果在attr上建立聚焦索引,那么可以通过二分搜索找到关系r中满足attr=value的第1个元组所在的页;然后向着恰当的方向扫描即可获得满足attropvalue的元组,这样一次二分搜索的开销约为lbF.如果关系r占据500页,则搜索开销为[1b500],也就是9次传输,而无索引的情况则需要500次,大大减小了I/O次数.1.2碱少CPU的处理时间的方法减少计算机系统需要计算的数据,使CPU的代价降到最低,对于查询分页效率来讲,主要表现在2个方面:一是减少SQL的执行代价,因为SQL语句的一个特点是同一个查询对象,不同SQL语言在实现方式之间的执行效率上的差异,需要分析优化器的工作原理,选取最有效的SQL语句J.二是寻找查询效率最高的分页方法.1.2.1多条件组合查询的SQL优化算法在所开发的项目中常常需要对输入条件进行动态组合查询,如果输入A1,A22个查询条件,其中有A1,A2,A1A2和无条件输入共4种组合(2个).假设输入条件为Ⅳ个,每一个条件取2个值,对输入数据的查询按"1"处理,不输入数据的查询条件按"0"处理,按照乘法原理其组合结果为2,若程序中对每一个结果判断一次,当输入10个查询条件时,判断语句达到2个,程序的代码量非常庞大且效率很低.改进的优化算法具体实施如...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?