[發明專利]基于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.szxzyx.cn/pat/books/201811284394.2/2.html,轉載請聲明來源鉆瓜專利網。





