[发明专利]基于Python的数据库索引优化方法及装置、系统在审
申请号: | 201811284394.2 | 申请日: | 2018-10-30 |
公开(公告)号: | CN111125085A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 刘强 | 申请(专利权)人: | 千寻位置网络有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/2455 |
代理公司: | 上海市海华永泰律师事务所 31302 | 代理人: | 包文超 |
地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 python 数据库 索引 优化 方法 装置 系统 | ||
本发明适用于数据库技术领域,提供了一种基于Python的数据库索引优化方法及装置、系统,所述数据库索引优化方法包括:渲染前端,并获取数据库操作语句所在的数据源;选择需要优化的所述数据库实例和数据库实例列表;接收用户输入的数据库操作语句;根据所述数据库实例和数据库实例列表在后端对所述数据库操作语句进行处理分析获取索引优化结果;将回传至所述前端的所述索引优化结果回传至所述前端进行展示。本发明中,将索引优化过程web可视化,且开发只需要输入对应的SQL便可获知相应的索引优化建议,无需数据库管理员进行额外的操作,提升了效率。
技术领域
本发明属于数据库技术领域,尤其涉及一种基于Python的数据库索引优化方法及装置、系统。
背景技术
在数据库运维过程中,优化结构化查询语言(Structured Query Language,SQL)是DBA(Database Administrator,数据库管理员)团队的日常任务。例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率。目前常用的SQL优化方式包括:业务层优化、SQL逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而达到SQL优化的目的。索引优化往往可以在短时间内产生非常巨大的效果。如果能够将索引优化转化成工具化、标准化的流程,减少人工介入的工作量,无疑会大大提高DBA的工作效率。
目前,由于MySQL的索引涉及到MySQL数据库大量的索引知识,但目前大量的程序开发人员没有系统的掌握数据库索引知识,因而目前MySQL的索引优化主要还是DBA的工作。目前MySQL的索引优化工作主要还是在MySQL客户端中使用MySQL命令行进行操作,无法做到可视化。
发明内容
本发明实施例提供了一种基于Python的数据库索引优化方法及装置、系统,旨在解决现有技术的MySQL索引优化完全依赖DBA操作且操作过程不可视化的问题。
一种基于Python的数据库索引优化方法,包括:
渲染前端,并获取数据库操作语句所在的数据源;
选择需要优化的所述数据库实例和数据库实例列表;
接收用户输入的数据库操作语句;
根据所述数据库实例和数据库实例列表在后端对所述数据库操作语句进行处理分析获取索引优化结果;
将回传至所述前端的所述索引优化结果回传至所述前端进行展示。
优选地,所述渲染前端,并获取数据库操作语句所在的数据源,具体为:
使用基于python的django框架作为主体框架渲染所述前端;
同时html页面美化使用Boostrap前端框架配合JavaScript脚本语言获取获取所述数据源。
优选地,所述数据源包括所述数据库操作语句所在的数据库实例和数据库实例列表。
优选地,所述选择需要优化的所述数据库实例和数据库实例列表,具体为:数据库实例列表在页面展示时同步加载。
优选地,所述根据所述数据库实例和数据库实例列表在后端对所述数据库操作语句进行处理分析获取索引优化结果之前,包括:
通过后端view层方法autoAdvisor接收到从前端传来的所述数据库实例,所述数据库实例列表以及所述数据库操作语句;
将所述数据库实例,所述数据库实例列表以及所述数据库操作语句以tuple类型的方式传递给SQLadvisor工具。
优选地,所述根据所述数据库实例和数据库实例列表在后端对所述数据库操作语句进行处理分析获取索引优化结果,具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于千寻位置网络有限公司,未经千寻位置网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811284394.2/2.html,转载请声明来源钻瓜专利网。