[發明專利]創建數據庫索引的方法、裝置、服務器及存儲介質有效
| 申請號: | 201810128060.X | 申請日: | 2018-02-08 |
| 公開(公告)號: | CN108376156B | 公開(公告)日: | 2020-08-14 |
| 發明(設計)人: | 王家賢 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/23 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 創建 數據庫 索引 方法 裝置 服務器 存儲 介質 | ||
本發明公開了一種創建數據庫索引的方法、裝置、服務器及存儲介質。該方法包括:確定待創建索引的數據表;對所述數據表加上IX鎖和S鎖;在數據庫系統表中添加所述待創建索引的數據字典,并確定對應的待創建索引;釋放所述數據表上的S鎖;根據所述數據表和所述數據字典,在所述待創建索引中填充索引數據,并在接收到除所述索引創建事務之外的其他事務對所述數據表的修改時,保存對應的修改記錄;將所述修改記錄合并到所述索引數據中;提交所述索引創建事務。本發明實現了在對數據表創建索引的過程中允許其他事務修改數據表。
技術領域
本發明實施例涉及數據庫技術,尤其涉及一種創建數據庫索引的方法、裝置、服務器及存儲介質。
背景技術
隨著大數據和云計算時代的到來,數據量的變化正呈現出指數級增長的態勢。當一個數據庫業務系統在運行過程中,往往會由于某種原因需要對某個數據表新建或者重建一個索引。
現有技術中,在對一個數據表新建或者重建索引時,往往會將該數據表鎖死,從而導致其他事務均不能對該數據表進行修改操作,進而導致整個業務系統被掛起而無法有效運行,而且隨著數據表中數據量的增大這種影響所持續的時間會隨著數據量的增加而增加,這種影響通常是不可接受的。
發明內容
有鑒于此,本發明實施例提供一種創建數據庫索引的方法、裝置、服務器及存儲介質,以實現在對數據表創建索引的過程中允許其他事務修改數據表。
第一方面,本發明實施例提供了一種創建數據庫索引的方法,所述方法包括:
根據索引創建事務,確定待創建索引的數據表;
對所述數據表加上IX鎖和S鎖;
在數據庫系統表中添加所述待創建索引的數據字典,并確定對應的待創建索引;
釋放所述數據表上的S鎖;
根據所述數據表和所述數據字典,在所述待創建索引中填充索引數據,并在接收到除所述索引創建事務之外的其他事務對所述數據表的修改時,保存對應的修改記錄;
將所述修改記錄合并到所述索引數據中;
提交所述索引創建事務。
第二方面,本發明實施例還提供了一種創建數據庫索引的裝置,所述裝置包括:
數據表確定模塊,用于根據索引創建事務,確定待創建索引的數據表;
上鎖模塊,用于對所述數據表加上IX鎖和S鎖;
數據字典添加模塊,用于在數據庫系統表中添加所述待創建索引的數據字典,并確定對應的待創建索引;
鎖釋放模塊,用于釋放所述數據表上的S鎖;
索引及修改并發模塊,用于根據所述數據表和所述數據字典,在所述待創建索引中填充索引數據,并在接收到除所述索引創建事務之外的其他事務對所述數據表的修改時,保存對應的修改記錄;
索引數據合并模塊,用于將所述修改記錄合并到所述索引數據中;
事務提交模塊,用于提交所述索引創建事務。
第三方面,本發明實施例還提供了一種服務器,所述服務器包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現本發明任一實施例所述的創建數據庫索引的方法。
第四方面,本發明實施例還提供了一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現本發明任一實施例所述的創建數據庫索引的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810128060.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種地理位置信息確定方法及裝置
- 下一篇:目標用戶查詢方法、系統和裝置





