[发明专利]一种结合数据库调优和程序调优的方法有效
| 申请号: | 201910085593.9 | 申请日: | 2019-01-29 |
| 公开(公告)号: | CN109871372B | 公开(公告)日: | 2021-01-19 |
| 发明(设计)人: | 徐常星;范殿梁;邢更力;胡志昂;刁逢博;肖婷婷 | 申请(专利权)人: | 公安部第一研究所 |
| 主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242 |
| 代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
| 地址: | 100048 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 结合 数据库 程序 方法 | ||
本发明公开了一种结合数据库调优和程序调优的方法,包括如下步骤:S1、访问应用系统服务器;S2、调用SQL语句;S3、应用系统服务器读取SQL语句;S4、应用系统服务器调用SQL优化器优化SQL语句;S5、应用系统服务器进行程序优化;S6、重新执行优化后的应用系统。本发明将数据库调优和程序调优的过程有机融合在一起,促进了系统性能的调优。
技术领域
本发明涉及数据库技术领域,具体涉及一种结合数据库调优和程序调优的方法。
背景技术
现在市面上常见的系统很多都是一个页面里附带着一个或多个数据库请求的,比如目录页面、树节点页面、查询条件页面、报表等。访问这样的页面往往都伴随数据库请求,多次刷新同一个页面时相应的数据库请求也会使用同一个SQL去多次查询数据库。此时所有的查询都下发到数据库会加剧拥塞,给数据库造成不必要的负担
对于同一个数据查询,比如当前登录用户个人信息,有可能会存在一次请求中多个地方都需要,比如控制器中,需要根据用户角色做权限判断,view中需要显示用户信息,model中需要使用这个用户的ID来查询关联数据,类库中要使用这个用户的邮箱来发邮件等。如果每次使用这个用户信息时,都去查库,对性能有比较大的影响。
发明内容
针对现有技术的不足,本发明旨在提供一种结合数据库调优和程序调优的方法,在PL/SQL集成化开发调试环境下读出SQL源语句,重新执行该程序,得到优化好的数据结果,优化好的数据结果会存储在Ehcache缓存中,当有相同的sql语句调用时,会从缓存直接取出结果,不再重新查询数据库。
为了实现上述目的,本发明采用如下技术方案:
一种结合数据库调优和程序调优的方法,包括如下步骤:
S1、访问应用系统服务器;
S2、调用SQL语句;
S3、应用系统服务器读取SQL语句;
S4、应用系统服务器调用SQL优化器优化SQL语句;
S5、应用系统服务器进行程序优化;
S6、重新执行优化后的应用系统;
其中步骤S4的具体过程为:
S4.1、由URL请求发起SQL请求;
S4.2、SQL语法优化器对SQL源语句进行分解,找出关键字,对该SQL源语句进行重构,生成设定数量的SQL语句;
S4.3、对步骤S4.2中生成的SQL语句在开发调试环境下进行数据库验证,验证生成的SQL语句的有效性;
S4.4、对步骤S4.3中验证有效的每条SQL语句顺序执行;每执行一次,输出执行时间、cpu占用时间和对I/0的操作情况并写到一个文件中;
S4.5、SQL语句执行完毕后,将步骤S4.4得到文件中的指标按执行时间进行升序排列,并将排列结果输出到另一个文件中,执行时间最短的在第一行;
S4.6、打开步骤S4.5中得到的所述另一个文件,取出第一行SQL语句,并将此SQL语句替换SQL源语句,得到优化后的SQL语句;
步骤S5的具体过程为:
S5.1、判断是否有想用的SQL语句正在查询;
S5.2、当没有相同的SQL语句正在查询时,通过SQL优化器对想用的SQL语句进行优化,利用优化后的最佳SQL语句进行查询并将数据库查询结果存储在Ehcache缓存中;所述通过SQL优化器对想用的SQL语句进行优化的过程和步骤S4的具体过程相同;
当有相同的SQL语句被查询时,等待获取Ehcache缓存生成的结果集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于公安部第一研究所,未经公安部第一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910085593.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:ADS-B航迹去噪系统
- 下一篇:一种数据存储方法和装置、计算机可读存储介质





