[發明專利]一種用于列數據庫的單表多列序存儲方法有效
| 申請號: | 201110392033.1 | 申請日: | 2011-11-30 |
| 公開(公告)號: | CN102521303A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 楊尚;王鴻翔;馮玉;李祥凱;冷建全 | 申請(專利權)人: | 北京人大金倉信息技術股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京汲智翼成知識產權代理事務所(普通合伙) 11381 | 代理人: | 陳曦;郭亞芳 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 數據庫 單表多列序 存儲 方法 | ||
1.一種用于列數據庫的單表多列序存儲方法,所述列數據庫包括多個由行和列構成的數據表,所述數據表被劃分為多個列集合,所述列集合包括一個或多個列,并且所述列集合的并集構成所述數據表,其特征在于:
所述列集合兩兩之間建立連接索引,所述連接索引記錄建立了連接索引的兩個列集合中,屬于所述數據表的同一元組的列的存儲位置的一一對應關系。
2.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于包括下述步驟:
對每個列集合,按照屬于所述數據表的同一元組的、兩個列集合中的列的存儲位置值,建立連接索引;
將所述連接索引對應存儲到所述每個列集合中,并與所述每個列集合中的所述列對應。
3.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于包括下述步驟:
如果兩個列集合包含重復列,則按照所述重復列,對所述兩個列集合的行進行排序并存儲;
如果兩個列集合沒有重復列,則將所述兩個列集合的行,分別按照查詢條件來排序并存儲。
4.如權利要求3所述的用于列數據庫的單表多列序存儲方法,其特征在于:
對于沒有重復列的所述兩個列集合,如果邏輯順序相同則不建立連接索引,如果邏輯順序不相同則建立連接索引。
5.如權利要求3所述的用于列數據庫的單表多列序存儲方法,其特征在于:
對于有重復列的所述兩個列集合,不建立連接索引。
6.如權利要求2所述的用于列數據庫的單表多列序存儲方法,其特征在于:
估計每個執行計劃所需的代價,根據最優代價選擇連接索引。
7.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于包括下述創建列集合的步驟:
在判斷所述數據表的全部列都出現在所述多個列集合的并集中的時候,為每個列集合創建物化視圖,完成列集合的創建。
8.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于:在建立連接索引的過程中還包括下述列集合加載步驟:
步驟1:在所述數據表加載數據;
步驟2:物化全部列集合物化視圖,包括物化每個列集合的存儲位置;
步驟3:建立連接索引;
步驟4:刪除所述數據表的數據;
步驟5:刪除不需要的存儲位置值。
9.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于還包括下述利用連接索引還原邏輯元組的步驟:
步驟1:尋找包含查詢所需要的所有目標列的列集合,如果有,則利用該列集合還原出元組;如果沒有,則進入下一步;
步驟2:尋找列序相同的包含查詢所需要的所有目標列的多個列集合;
步驟3:在步驟2中獲得的多個列集合中,選擇使用連接索引最少的列集合組;
步驟4:完成目標列的投影之后,利用連接索引還原元組。
10.如權利要求1所述的用于列數據庫的單表多列序存儲方法,其特征在于:
屬于所述數據表的同一元組的列,是指列集合中的多個列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京人大金倉信息技術股份有限公司,未經北京人大金倉信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110392033.1/1.html,轉載請聲明來源鉆瓜專利網。





