[发明专利]一种数据库索引优化系统有效
申请号: | 201510767926.8 | 申请日: | 2015-11-11 |
公开(公告)号: | CN105279276B | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | 杨治;刘景洋;陈昌浩 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 索引 优化 系统 | ||
本发明公开了一种数据库索引优化系统,将数据库操作日志文件,数据库索引通过操作对象提取模块进行提取,然后通过操作对象分类模块进行分类,并将其提交到操作对象分析模块分析处理,通过索引分析模块将出现频率高、查询数据量大的语句进行测试,根据测试结果通过索引优化模块将动态生成索引,并删除使用频率低、测试性能低的索引,通过索引优化模块可以根据数据库要求、特性定交不同的规则库,也可以配置索引缓存,从而提高数据库整体查询性能。可以直接与数据库进行连接,能够快速对索引进行查询、优化并可以设置不同的策略控制数据库索引生成规则,优化了数据库索引,提升了数据库查询性能。
技术领域
本发明涉及数据库领域,特别是涉及一种数据库索引优化系统。
背景技术
数据库索引是数据库中一种排序的数据结构,以协助快速查询、更新数据库表中数据。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。
数据库索引的建立对于经常需要搜索的列上,可以加快搜索的速度,在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构,在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度,在经常需要排序的列上创建索引,由于索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。数据库索引可以直接影响数据库性能,配置优化前后数据库性能差距可能达到几倍甚至几十倍。由于系统的复杂性,如果采用手工配置,数据库索引优化难度高,工作量大。如何提升数据库查询性能,减少索引优化时间,是数据库索引优化工作中需要解决的关键问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据库索引优化系统,可以优化数据库索引,提升数据库查询性能。
为实现上述目的,本发明提供了一种数据库索引优化系统,包括:
操作对象提取模块、操作对象分类模块、操作对象分析模块、索引分析模块、索引优化模块和控制台模块;
所述操作对象提取模块用于从数据库中提取数据库操作日志文件和数据库索引文件,并对所述数据库操作日志文件和所述数据库索引进行操作对象提取;
所述操作对象分类模块用于将所述操作进行预设操作对象类别的分类,并将分类后的操作对象记录到对应的分类文件中;
所述操作对象分析模块用于根据分类后的操作对象进行分析,根据预设的索引优化策略筛选出使用查询频率高于预设频率且查询数量高于预设数量的SQL语句;
所述索引分析模块用于对所述SQL语句执行查询计划操作,根据得到的查询结果进行查询效率分析、数据吞吐量分析、IO分析和内存检测,得到数据库效率高于预设效率的目标索引信息;
所述索引优化模块用于根据所述目标索引信息建立索引规则,进行数据库索引优化以及配置索引缓存;
所述控制台模块用于设定数据库索引优化策略。
优选地,所述控制台模块的第一通信端口与数据库相连接,所述控制台模块的第二通信端口与所述索引优化模块的第一通信端口相连接;
所述索引优化模块的第二通信端口与数据库相连接,所述索引优化模块的第三通信端口与所述索引分析模块的第一通信端口相连接;
所述索引分析模块的第二通信端口与所述操作对象分析模块的第一通信端口相连接;
所述操作对象分析模块的第二通信端口与所述操作对象提取模块的第一通信端口相连接,所述操作对象分析模块的第三通信模块与所述操作对象分类模块的第一通信端口相连接;
所述操作对象提取模块的第二通信端口与所述操作对象分类模块的第二通信端口相连接,所述操作对象提取模块的第三通信端口与数据库相连接;
所述操作对象分类模块的第三端口与数据库相连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510767926.8/2.html,转载请声明来源钻瓜专利网。