本申請實施例提供了一種數(shù)據(jù)查詢方法及裝置,包括:響應(yīng)于創(chuàng)建項目對象的請求,構(gòu)建包含參與者信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,并將目標(biāo)字段的值設(shè)置為相較項目對象的創(chuàng)建時刻更晚的時刻值;在項目對象結(jié)束的情況下,將數(shù)據(jù)表中目標(biāo)字段的值變更為創(chuàng)建時刻;在獲取到查詢請求的情況下,根據(jù)組合索引和查詢請求包含的查詢參數(shù)對數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。本申請通過一個目標(biāo)字段,在實現(xiàn)對不同狀態(tài)的項目對象的區(qū)分的基礎(chǔ)上,進(jìn)一步實現(xiàn)了項目對象創(chuàng)建時間的順序排序,從而讓查詢過程通過組合索引中更少的字段數(shù)量實現(xiàn)了查詢,組合索引的利用效率較高,提升了整體查詢效率。
【技術(shù)實現(xiàn)步驟摘要】
本申請涉及計算機(jī),特別是涉及一種數(shù)據(jù)查詢方法、在線課程數(shù)據(jù)查詢方法、裝置、電子設(shè)備、機(jī)器可讀介質(zhì)。
技術(shù)介紹
1、在線課程是目前的一種學(xué)習(xí)方式,其具有很高的靈活性,可以滿足學(xué)生隨時隨地學(xué)習(xí)的需求,在線課程的核心功能之一是提供課堂列表,課堂列表中具有正在進(jìn)行中、已結(jié)束的線上課程的記錄,以便于學(xué)生了解課程情況。
2、在目前,課堂列表服務(wù)基于數(shù)據(jù)庫中的在線課程數(shù)據(jù)表所實現(xiàn)的,在線課程表可以包含三個核心字段:status表示課程狀態(tài),取值1代表進(jìn)行中,取值0代表已經(jīng)結(jié)束。start_time代表課程開始時間,uid代表學(xué)生標(biāo)識,在線課程數(shù)據(jù)表會針對這三個字段分別建立對應(yīng)的數(shù)據(jù)列,數(shù)據(jù)列中具有字段的具體值。針對查詢在線課程數(shù)據(jù)表的場景,查詢需求包括:按照uid分頁展示某個學(xué)生的課程列表,進(jìn)行中的課程排在已結(jié)束的課程之前,課程開始時間降序排序,則具體查詢時,可以基于包括按次序排布的上述三個字段的組合索引:idx(uid,status,start_time),構(gòu)建結(jié)構(gòu)化查詢語句對在線課程數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。
3、但是,專利技術(shù)人經(jīng)過研究發(fā)現(xiàn),目前的方案中,組合索引中包含的字段數(shù)量較多,且存在布爾類型(取值為1或0)的status字段,使得查詢時索引利用效率較低,降低了查詢性能。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種數(shù)據(jù)查詢方法及在線課程數(shù)據(jù)查詢方法,以解決相關(guān)技術(shù)中查詢時索引利用效率較低,降低了查詢性能的問題。</p>2、相應(yīng)的,本申請實施例還提供了一種數(shù)據(jù)查詢裝置及在線課程數(shù)據(jù)查詢裝置、電子設(shè)備以及存儲介質(zhì),用以保證上述方法的實現(xiàn)及應(yīng)用。
3、為了解決上述問題,本申請實施例公開了一種數(shù)據(jù)查詢方法,所述方法包括:
4、響應(yīng)于創(chuàng)建項目對象的請求,根據(jù)包含參與者信息字段,以及表征時刻的目標(biāo)字段的組合索引,構(gòu)建包含所述參與者信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,并將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值;所述參與者信息字段用于表征參加所述項目對象的參與者的信息;
5、在所述項目對象結(jié)束的情況下,將所述數(shù)據(jù)表中目標(biāo)字段的值變更為所述創(chuàng)建時刻;
6、在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。
7、本申請實施例公開了一種在線課程數(shù)據(jù)查詢方法,所述方法包括:
8、響應(yīng)于創(chuàng)建在線課程的請求,根據(jù)包含學(xué)生信息字段,以及表征時刻的目標(biāo)字段的組合索引,構(gòu)建包含所述學(xué)生信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,并將所述目標(biāo)字段的值設(shè)置為相較所述在線課程的創(chuàng)建時刻更晚的時刻值;所述學(xué)生信息字段用于表征參加所述在線課程的學(xué)生的信息;
9、在所述在線課程結(jié)束的情況下,將所述數(shù)據(jù)表中目標(biāo)字段的值變更為所述創(chuàng)建時刻;
10、在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。
11、本申請實施例公開了一種數(shù)據(jù)查詢裝置,所述裝置包括:
12、構(gòu)建模塊,用于響應(yīng)于創(chuàng)建項目對象的請求,根據(jù)包含參與者信息字段,以及表征時刻的目標(biāo)字段的組合索引,構(gòu)建包含所述參與者信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,并將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值;所述參與者信息字段用于表征參加所述項目對象的參與者的信息;
13、變更模塊,用于在所述項目對象結(jié)束的情況下,將所述數(shù)據(jù)表中目標(biāo)字段的值變更為所述創(chuàng)建時刻;
14、查詢模塊,用于在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。
15、本申請實施例公開了一種在線課程數(shù)據(jù)查詢裝置,所述裝置包括:
16、課程創(chuàng)建模塊,用于響應(yīng)于創(chuàng)建在線課程的請求,根據(jù)包含學(xué)生信息字段,以及表征時刻的目標(biāo)字段的組合索引,構(gòu)建包含所述學(xué)生信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,并將所述目標(biāo)字段的值設(shè)置為相較所述在線課程的創(chuàng)建時刻更晚的時刻值;所述學(xué)生信息字段用于表征參加所述在線課程的學(xué)生的信息;
17、數(shù)值變更模塊,用于在所述在線課程結(jié)束的情況下,將所述數(shù)據(jù)表中目標(biāo)字段的值變更為所述創(chuàng)建時刻;
18、課程查詢模塊,用于在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果。
19、本申請實施例還公開了一種電子設(shè)備,包括:處理器;和存儲器,其上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被執(zhí)行時,使得所述處理器執(zhí)行如本申請實施例中一個或多個所述的方法。
20、本申請實施例還公開了一個或多個機(jī)器可讀介質(zhì),其上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被執(zhí)行時,使得處理器執(zhí)行如本申請實施例中一個或多個所述的方法。
21、與相關(guān)技術(shù)相比,本申請實施例包括以下優(yōu)點:
22、本申請實施例在創(chuàng)建項目對象時,將表中目標(biāo)字段的值設(shè)置為相較創(chuàng)建時刻更晚的時刻值,以及在項目對象結(jié)束時,將表中目標(biāo)字段的值變更為創(chuàng)建時刻,這樣做的目的是在時間軸上,讓進(jìn)行中的項目對象具有相對已結(jié)束的項目對象更晚的時刻值,實現(xiàn)對兩種狀態(tài)類型項目對象的區(qū)分;則在查詢時,通過將查詢獲得的數(shù)據(jù)按照目標(biāo)字段的值排序,使得進(jìn)行中狀態(tài)的項目對象和已結(jié)束狀態(tài)的項目對象劃分為不同的兩類進(jìn)行展示,且項目對象也按照創(chuàng)建時間的順序?qū)崿F(xiàn)了排序,從而本申請通過一個目標(biāo)字段,在實現(xiàn)對多種不同狀態(tài)的項目對象的區(qū)分的基礎(chǔ)上,進(jìn)一步實現(xiàn)了項目對象創(chuàng)建時間的順序排序,從而讓查詢過程在滿足查詢需求的基礎(chǔ),通過組合索引中更少的字段數(shù)量實現(xiàn)了查詢,組合索引的利用效率較高,進(jìn)而提升了整體查詢效率。
本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點】
1.一種數(shù)據(jù)查詢方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述查詢參數(shù)和所述組合索引構(gòu)建結(jié)構(gòu)化查詢語句,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述響應(yīng)于對所述結(jié)構(gòu)化查詢語句的執(zhí)行,獲得所述查詢結(jié)果,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述查詢策略還包括查詢范圍,所述將所述目標(biāo)參與者信息的數(shù)據(jù)內(nèi)容,按照所述目標(biāo)時刻的值降序排序,得到所述查詢結(jié)果,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述組合索引中參與者信息字段的優(yōu)先級大于目標(biāo)字段的優(yōu)先級;所述響應(yīng)于創(chuàng)建項目對象的請求,根據(jù)包含參與者信息字段,以及表征時刻的目標(biāo)字段的組合索引,構(gòu)建包含所述參與者信息字段的值和目標(biāo)字段的值的數(shù)據(jù)表,包括:
9.一種在線課程數(shù)據(jù)查詢方法,其特征在于,包括:
10.一種數(shù)據(jù)查詢裝置,其特征在于,包括:
11.一種電子設(shè)備,其特征在于,包括:
12.一個或多個機(jī)器可讀介質(zhì),其上存儲有可執(zhí)行代碼,當(dāng)所述可執(zhí)行代碼被執(zhí)行時,使得處理器執(zhí)行如權(quán)利要求1至9任一所述的方法。
...
【技術(shù)特征摘要】
1.一種數(shù)據(jù)查詢方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述目標(biāo)字段的值設(shè)置為相較所述項目對象的創(chuàng)建時刻更晚的時刻值,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在獲取到查詢請求的情況下,根據(jù)所述組合索引和所述查詢請求包含的查詢參數(shù)對所述數(shù)據(jù)表進(jìn)行查詢,并將查詢到的數(shù)據(jù)按照所述目標(biāo)字段的值進(jìn)行排序,獲得查詢結(jié)果,包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述查詢參數(shù)和所述組合索引構(gòu)建結(jié)構(gòu)化查詢語句,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述響應(yīng)于對所述結(jié)構(gòu)化查詢語句的執(zhí)行,獲得所述查詢結(jié)果,包...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊卓,劉義,姚耀,
申請(專利權(quán))人:杭州阿里云飛天信息技術(shù)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。