[发明专利]基于物化视图的系统性能优化方法及系统无效
申请号: | 200810185146.2 | 申请日: | 2008-12-11 |
公开(公告)号: | CN101477524A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 罗琼 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 物化 视图 系统 性能 优化 方法 | ||
技术领域
本发明涉及数据库领域,特别涉及一种基于物化视图的系统性能优化方法及系统。
背景技术
作为高级的非过程化编程语言的结构化查询语言SQL(Structured QueryLanguage),允许用户在高层数据结构上工作,它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,因此具有完全不同底层结构的不同数据库系统都可以使用相同的SQL语言作为数据输入与管理的接口。
对于传统的SQL查询排序实现方式来说,需要把查询出的结果集,在表中做排序、分组、计算、过滤等操作,由于这些操作分析需要将结果集进行具体化的显示,因此象SQL查询和视图这种在使用时才需要读取的操作都需要消耗一定的资源。如果有大量的排序操作的动作,全表扫描就会对数据库的性能产生巨大的冲击,从而快速加升逻辑读的数量。当这种并发SQL查询很多的时候,数据库端的内存就成为瓶颈,并且这种方式对于小带宽的WEB应用不适用,因为每次都从大数据集取元数据进行分析的时候,数据库端的性能就会成为瓶颈,CPU、IO内存的资源消耗,带来这些性能指标的一定偏差,造成系统反应变慢,这时数据库服务器运行健康状态也不太良好。
物化视图(Materialized View)能够在一个段中存储查询结果,并且能够在提交查询时将结果返回给用户,从而不再需要重新执行查询。在查询要执行几次时(这在数据仓库环境中非常常见),这是一个很大的好处。物化视图提升性能的原理就是它是“视图+查询出的数据”形成的数据快照,一瞬间取出的数据结果集。对于查询出的结果集所做的一系列的操作,而它只要扫描一遍,所以物化视图这种快照、一瞬间的数据集的实现方式是一种最快的访问方法。
但是,在数据稳定时,大量类型的SQL的排序,基于对基表(底层表)的大量分组、运算、排序来实现,从而造成的翻页查询程序,由于使用的物化视图依赖于基表的改变,所以基表的数据的浮动需要日常频繁的手工刷新,达到数据同步,但由于中间的人工操作,使出错的几率增大,程序的稳定性偶尔也会出现问题。
发明内容
为解决传统的需要手动的刷新物化视图,引起数据的浮动从而带来数据不准确性的问题,本发明提出了基于物化视图提升性能优化方案。
一方面,本发明提供一种基于物化视图的系统性能优化方法,包括如下步骤:
捕获SQL查询语句;
确定引发系统全表扫描的SQL查询语句所构成的问题基表;
针对前述问题基表创建物化视图;
优化所创建的物化视图;
利用所优化的物化视图处理相应的SQL查询。
其中,所述优化所创建的物化视图的步骤进一步包括:
为物化视图创建定时刷新机制的步骤;以及为物化视图创建索引的步骤。
优选的,本发明根据以下步骤为物化视图创建定时刷新机制:
创建刷新物化视图的作业类;设置标准调度器工厂,生成调度器实例;创建一个作业详细信息实例,设置对应的作业实现类;设置触发器,设定进行定时刷新的触发时间;绑定作业详细信息与触发器;启动调度器。
另一方面,本发明提供一种基于物化视图的系统性能优化系统,该系统由客户端和服务器端组成,所述服务器端包括系统服务器和性能优化服务器;
所述性能优化服务器包括:
SQL查询语句监测单元,用于监听客户端发来的SQL请求;
问题基表确定单元,用于从SQL查询语句监测单元监听的SQL请求中确定引发系统全表扫描的SQL查询语句所构成的问题基表;
物化视图创建单元,用于根据问题基表确定单元确定的问题基表创建相应的物化视图;
物化视图优化单元,用于对创建的物化视图做进一步优化处理;
所述系统服务器用于利用所优化的物化视图处理相应的SQL查询。
与现有技术相比,本发明采用物化视图调用流程,改善了以前传统的需要手动刷新物化视图的不准确性问题,以及手动同步刷新给基表的操作性能带来的影响。本发明提供的定期自动刷新技术,加上索引,使数据达到比较佳查询状态,确保用户看到的数据快速准确。
同时,采用本发明,使得数据库服务器的底层资源的消耗随之变化,更有效地减少逻辑读取,因为不需要实时的进行数据复杂的运算进而减少的CPU的消耗,显著的提高数据快照的扫描速度。
附图说明
图1是本发明实施例的物化视图自动刷新流程示意图;
图2是本发明实施例的设置定时刷新的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810185146.2/2.html,转载请声明来源钻瓜专利网。