两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)庫事務(wù)內(nèi)insertselect的并行插入方法和裝置與流程

文檔序號:40653840發(fā)布日期:2025-01-10 19:02閱讀:2來源:國知局
數(shù)據(jù)庫事務(wù)內(nèi)insert select的并行插入方法和裝置與流程

本申請涉及數(shù)據(jù)庫,尤其涉及一種數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入方法和裝置。


背景技術(shù):

1、insert?select語法允許從一個表中選擇數(shù)據(jù),并將其插入到另一個表中,這個功能非常適用于需要從一個表中復(fù)制數(shù)據(jù)到另一個表的情況,或者將查詢結(jié)果存儲到新的表中,insert?select導(dǎo)入通過查詢源表數(shù)據(jù)并逐行插入目標(biāo)表來實現(xiàn),即insert?select采用串行方式插入數(shù)據(jù)。insert?select的導(dǎo)入速率和源表的數(shù)據(jù)量成正比,在源表數(shù)據(jù)量級龐大時,數(shù)據(jù)導(dǎo)入需要耗費大量時間,導(dǎo)致數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入性能低。


技術(shù)實現(xiàn)思路

1、本申請?zhí)峁┝艘环N數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入方法和裝置,以解決數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入性能低的問題。

2、第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)庫中insert?select的并行插入方法,所述方法包括:

3、在接收到終端發(fā)送的insert?select請求時,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間,其中,所述insert?select請求用于將所述源表中的數(shù)據(jù)復(fù)制到目標(biāo)表中;

4、通過所述主線程創(chuàng)建與數(shù)據(jù)區(qū)間的數(shù)量具有相同數(shù)量的子線程,其中,所述主線程也作為一個子線程;

5、將每個所述數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)分配給一個子線程,并控制多個子線程對所述目標(biāo)表并發(fā)執(zhí)行插入操作,其中,每個子線程用于將對應(yīng)數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)串行插入所述目標(biāo)表。

6、可選地,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間之前,所述方法還包括:

7、通過所述數(shù)據(jù)庫的主線程獲取所述源表中的數(shù)據(jù)量和所述數(shù)據(jù)庫的系統(tǒng)資源;

8、根據(jù)所述數(shù)據(jù)量和所述系統(tǒng)資源確定數(shù)據(jù)并行插入的并行度;

9、采用數(shù)據(jù)庫直方圖對所述源表中的數(shù)據(jù)分布進(jìn)行解析,得到多個初始的數(shù)據(jù)區(qū)間;

10、若所述并行度與所述初始的數(shù)據(jù)區(qū)間之間的數(shù)量差值小于設(shè)定差值,則按照所述并行度對所述初始的數(shù)據(jù)區(qū)間進(jìn)行調(diào)整,得到最終的數(shù)據(jù)區(qū)間。

11、可選地,得到多個初始的數(shù)據(jù)區(qū)間之后,所述方法還包括:

12、若所述并行度與所述初始的數(shù)據(jù)區(qū)間之間的數(shù)量差值大于或等于設(shè)定差值,則將所述初始的數(shù)據(jù)區(qū)間作為最終的數(shù)據(jù)區(qū)間。

13、可選地,采用數(shù)據(jù)庫直方圖對所述源表中的數(shù)據(jù)分布進(jìn)行解析,得到多個初始的數(shù)據(jù)區(qū)間的過程中,所述方法還包括:

14、實時檢測所述源表中是否發(fā)生數(shù)據(jù)操作;

15、若檢測到發(fā)生數(shù)據(jù)操作,則重新采用所述數(shù)據(jù)庫直方圖對調(diào)整后的數(shù)據(jù)分布進(jìn)行解析,得到調(diào)整后的數(shù)據(jù)區(qū)間。

16、可選地,所述數(shù)據(jù)庫為分布式數(shù)據(jù)庫,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間包括:

17、若所述源表中未創(chuàng)建數(shù)據(jù)庫直方圖,則查詢所述分布式數(shù)據(jù)庫中全部數(shù)據(jù)節(jié)點;

18、統(tǒng)計所述全部數(shù)據(jù)節(jié)點的總數(shù)據(jù)量;

19、按照所述并行度對所述總數(shù)據(jù)量進(jìn)行等量拆分,并將拆分后的每段數(shù)據(jù)插入一個數(shù)據(jù)區(qū)間中。

20、可選地,控制多個子線程對所述目標(biāo)表并發(fā)執(zhí)行插入操作包括:

21、控制多個子線程將所述源表中對應(yīng)數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)并發(fā)插入到所述目標(biāo)表,其中,所述多個子線程位于一個事務(wù)中,數(shù)據(jù)插入操作能夠撤銷;

22、控制多個子線程進(jìn)行數(shù)據(jù)提交,其中,所述數(shù)據(jù)提交用于將所述源表中的數(shù)據(jù)永久保存到所述目標(biāo)表中。

23、可選地,所述數(shù)據(jù)庫為分布式數(shù)據(jù)庫,控制多個子線程進(jìn)行數(shù)據(jù)提交之前,所述方法還包括:

24、若檢測到對所述源表中設(shè)定數(shù)據(jù)的查詢操作,則確定所述設(shè)定數(shù)據(jù)所在的分布式數(shù)據(jù)庫中設(shè)定事務(wù)的狀態(tài);

25、若所述設(shè)定事務(wù)為活躍狀態(tài),則禁止對所述設(shè)定事務(wù)中的數(shù)據(jù)進(jìn)行查詢,其中,所述活躍狀態(tài)用于指示至少部分子線程提交失?。?/p>

26、若所述設(shè)定事務(wù)為非活躍狀態(tài),則允許對所述設(shè)定事務(wù)中的數(shù)據(jù)進(jìn)行查詢,其中,所述非活躍狀態(tài)用于指示全部子線程提交成功。

27、第二方面,本申請?zhí)峁┝艘环N數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入裝置,所述裝置包括:

28、拆分模塊,用于在接收到終端發(fā)送的insert?select請求時,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間,其中,所述insert?select請求用于將所述源表中的數(shù)據(jù)復(fù)制到目標(biāo)表中;

29、創(chuàng)建模塊,用于通過所述主線程創(chuàng)建與數(shù)據(jù)區(qū)間的數(shù)量具有相同數(shù)量的子線程,其中,所述主線程也作為一個子線程;

30、插入模塊,用于將每個所述數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)分配給一個子線程,并控制多個子線程對所述目標(biāo)表并發(fā)執(zhí)行插入操作,其中,每個子線程用于將對應(yīng)數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)串行插入所述目標(biāo)表。

31、第三方面,本申請?zhí)峁┝艘环N電子設(shè)備,包括:至少一個通信接口;與所述至少一個通信接口相連接的至少一個總線;與所述至少一個總線相連接的至少一個處理器;與所述至少一個總線相連接的至少一個存儲器。

32、第四方面,本申請還提供了一種計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令用于執(zhí)行本申請上述任一項所述的數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入方法。

33、本申請實施例提供的上述技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點:將源表數(shù)據(jù)拆分到多個數(shù)據(jù)區(qū)間,通過多個子線程對多個數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)執(zhí)行并發(fā)插入操作,實現(xiàn)源表中的數(shù)據(jù)并發(fā)插入到目標(biāo)表中,相對于現(xiàn)有技術(shù)的串行插入,本申請中的并行插入提高數(shù)據(jù)庫中insert?select效率,提高數(shù)據(jù)庫中數(shù)據(jù)的導(dǎo)入性能。



技術(shù)特征:

1.一種數(shù)據(jù)庫中insert?select的并行插入方法,其特征在于,所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間之前,所述方法還包括:

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,得到多個初始的數(shù)據(jù)區(qū)間之后,所述方法還包括:

4.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用數(shù)據(jù)庫直方圖對所述源表中的數(shù)據(jù)分布進(jìn)行解析,得到多個初始的數(shù)據(jù)區(qū)間的過程中,所述方法還包括:

5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)庫為分布式數(shù)據(jù)庫,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間包括:

6.根據(jù)權(quán)利要求1所述的方法,其特征在于,控制多個子線程對所述目標(biāo)表并發(fā)執(zhí)行插入操作包括:

7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)庫為分布式數(shù)據(jù)庫,控制多個子線程進(jìn)行數(shù)據(jù)提交之前,所述方法還包括:

8.一種數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入裝置,其特征在于,所述裝置包括:

9.一種電子設(shè)備,其特征在于,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;

10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-7任一所述的方法。


技術(shù)總結(jié)
本申請涉及一種數(shù)據(jù)庫事務(wù)內(nèi)insert?select的并行插入方法和裝置,所述方法包括:在接收到終端發(fā)送的insert?select請求時,通過數(shù)據(jù)庫的主線程將源表中的數(shù)據(jù)拆分至不同的數(shù)據(jù)區(qū)間,其中,所述insert?select請求用于將所述源表中的數(shù)據(jù)復(fù)制到目標(biāo)表中;通過所述主線程創(chuàng)建與數(shù)據(jù)區(qū)間的數(shù)量具有相同數(shù)量的子線程,其中,所述主線程也作為一個子線程;將每個所述數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)分配給一個子線程,并控制多個子線程對所述目標(biāo)表并發(fā)執(zhí)行插入操作,其中,每個子線程用于將對應(yīng)數(shù)據(jù)區(qū)間內(nèi)的數(shù)據(jù)串行插入所述目標(biāo)表。本申請?zhí)岣邤?shù)據(jù)庫插入性能。

技術(shù)研發(fā)人員:王燁,趙培,馬玉偉
受保護(hù)的技術(shù)使用者:金篆信科有限責(zé)任公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/9
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泗阳县| 临沧市| 太保市| 临澧县| 新化县| 宁河县| 马龙县| 竹溪县| 淮滨县| 观塘区| 仁布县| 泸溪县| 东辽县| 青铜峡市| 瑞昌市| 东乌珠穆沁旗| 龙泉市| 洪湖市| 民丰县| 共和县| 农安县| 峨眉山市| 潜山县| 定州市| 磐安县| 德化县| 宝应县| 江北区| 九江县| 万载县| 安岳县| 神池县| 黎城县| 庆安县| 宿松县| 皮山县| 桑植县| 井研县| 延安市| 增城市| 林芝县|