- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个有关多条件数据库查询的优化方法
一个有关多条件数据库查询的优化方法在数据库编程中,管理人员需要经常从数据库中查询数据。当查询条件为确定时,我们可以明确用的SQL语句来实现,但是当查询条件为多个条件的动态组合时,查询语句会由于分支太多及IF语句的多重嵌套而变得相当复杂。在此,笔者提供了一种优化方法,运用本方法可以有效地减少查询语句的分支和数量以及IF条件语句的嵌套层数,从而提高程序的运行效率。
下面我们以一个简单的例子来说明,假设有一个名为employee的表,现在我们要从其中查询数据,条件有三个,由用户动态选择,如图1所示:
其中条件A、B、C之间是与的关系,A、B、C均为动态选择,可以取其中的一个、两个或三个,也可以一个都不选,当三个条件都不选择时则认为是无条件查询,按照通常的做法,判断方法如图2所示:
这样,最终的结果有8个,即有8条查询语句,分别是
1.select * from employee;
2.select * from employee where Age =C ;
3.select * from employee where Sex=B;
4.select * from employee where Sex=B and Age=C;
5.select * from employee where Name=A;
6.select * from employee where Name=A and Age=C;
7.select * from employee where Name=A and Sex=B ;
8.select * from employee where Name=A and Sex=B and Age=C;
财软资 讯
显然这是比较烦琐的,而且用到了多重嵌套IF语句,因而在条件增多时,其复杂程度将大大增加。我们对它进行优化,方法如下:
首先定义一个字符串Str_Result用来存放组合条件的结果,开始时为空。
用程序语言描述如下:
if A then
Str_Result=where Name =A
end if
if B then
if Str_Result= then
Str_Result=where Sex=B
else
Str_Result=Str_Result+and Sex = B
end if
end if
if C then
if Str_Result= then
Str_Result=where Age =C
else
Str_Result=Str_Result+and Age=C
end if
end if 财 软 资讯 最终的结果查询语句为:select * from employee + Str_Result。
显然,这种方法减少了组合的分支和if语句的多重嵌套,从而提高了程序的效率。
本方法的原理在于定义了一个单独的字符串来表示组合的结果,当该字符串经过条件A后其值为A的条件,经过条件B后其值则为条件A与B 组合的结果,而当经过条件C后其值则变成条件A、B、C的组合,从而减少了组合判断的分支,对于更多条件的组合,其效能将更加明显。
您可能关注的文档
- 深化基层党建推动动物园发展.doc
- 文娱部个人工作总结.doc
- 数据结构讲义第2章新1.ppt
- 小功率单相变频器控制系统的研究设计.doc
- [N]身边的英语-水果.ppt
- 建立农村社会保障体系.doc
- 工程勘查合同范本.doc
- 基因工程次重点.doc
- 《旅游学概论》复习题4答案.doc
- 人教必修四unit1languagepoints.ppt
- 2025年山东省东营市行政职业能力测验题库推荐.docx
- 2025年山东省威海市行政职业能力测验模拟试题附答案.docx
- 2025年山东省东营市行政职业能力测验模拟试题附答案.docx
- 2025年山东省东营市行政职业能力测验模拟试题必考题.docx
- 2025年山东海事职业学院单招职业倾向性考试题库必威体育精装版.docx
- 博士研究生科研创新能力提升项目(社科类)申报书.doc
- 2025年山东服装职业学院单招职业倾向性测试必刷测试卷附答案.docx
- 2025年山东服装职业学院单招职业技能考试题库附答案.docx
- 2025年山东海事职业学院单招职业倾向性考试必刷测试卷附答案.docx
- 2025年山东城市服务职业学院单招职业适应性测试必刷测试卷附答案.docx
最近下载
- 黄元御《四圣心源》译读要点.doc VIP
- 6.螺杆式冷水机组(含风冷螺杆式冷热水机组)用户需求URS-1.doc VIP
- 农贸市场运营方案设计.ppt VIP
- 高考英语图表作文公开课课件讲义资料.doc VIP
- 测绘资质分级标准.pdf VIP
- 铁矿矿石的物化性质与实验分析考核试卷.docx VIP
- 2019年冀教版七年级数学下册期末考试试卷.pdf VIP
- (高清版)DB34∕T 4095-2022 高速公路建设项目电子源文件同步归档指南.pdf VIP
- 2025年河北石家庄市市属国有企业公开招聘应届毕业生223名笔试模拟试题及答案解析.docx VIP
- 初中语文教学总结.docx VIP
文档评论(0)