TW201419010A - 資料索引自動建置方法 - Google Patents
資料索引自動建置方法 Download PDFInfo
- Publication number
- TW201419010A TW201419010A TW101140748A TW101140748A TW201419010A TW 201419010 A TW201419010 A TW 201419010A TW 101140748 A TW101140748 A TW 101140748A TW 101140748 A TW101140748 A TW 101140748A TW 201419010 A TW201419010 A TW 201419010A
- Authority
- TW
- Taiwan
- Prior art keywords
- data index
- data
- field
- database
- index
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種資料索引自動建置方法,係於一資料庫查詢至少一調查語句時,比對至少一表單中現存之該數據索引,以獲取對應之該數據索引而直接使用現存之該數據索引搜索相關資料。當該調查語句無對應之該數據索引時,記錄並整合該調查語句之一條件欄位、一排序欄位及一分類欄位,以自動產生新建之該數據索引而填列至對應之該表單中。如此,該資料庫具自動分析而自動產生、更新及刪除該數據索引的智能功能,以提升資料管理之準確性及執行率,有效降低管理者之人力耗費。
Description
本發明係屬於資料庫資料管理之技術領域,特別是關於一種資料索引自動建置方法,供以提升索引建置之準確性而大幅改善資料庫執行效能,且減少資料庫管理者之人力耗費。
資料庫系統除要能儲存資料及建立索引欄表外,也需具備允許管理者隨時插入、更新、刪除或擷取資料庫中內容等功能。如此,為方便操作使用,現今的資料庫系統多支援結構化查詢語言(Structured Query Language,SQL),使允許管理者透過外掛之一用戶應用程式(Database Client Application)輸入資料及建立表格,同時,管理者自行定義針對各資料欄位定義查詢條件而形成至少一數據索引,供予加速後續資料查詢或內容擷取等作業。由此可知,上述此法之數據索引因管理者個人經驗認知的不同而常有條件定義失真,造成資料查詢錯誤且需重新修改定義條件的問題發生,且於實際操作或更新程式資料時亦常出現需額外插入索引的狀況,如此,各筆資料與數據索引間的關聯性將造成管理作業的繁複及困難。並且,當擷取某屬性資料而需集合符合某條件之所有索引時,上述用戶應用程式往往利用大量複製數據的方式產生,造成記憶體被大量佔用而降低資料庫執行效能。
為解決上述問題,台灣專利第508511、I231433及
I269985號係提及各式外掛用戶應用程式之改善方式,以減少各類型資料庫於系統更新或資料變動時,與外掛程式間所產生的指令錯誤率,簡化管理程序並提升系統執行效能。然而,上述前案仍為配備有外掛程式之資料庫架構,使資料庫與外掛程式間可能因程式碼相容問題而影響工作穩定性,且當外掛程式更改程式指令時,需對應轉換並重新編碼此指令原始碼,方能供資料庫使用,如此,將耗費大量的時間成本且不便於使用。再者,即使為內建自動索引之資料庫架構,其功能以自動於查詢條件的相對欄位上索引自動產生方面而無整體數據的分析匯整功能,導致存放索引過多而影響執行效能,且佔用記憶容量而不利於資料管理。
有鑑於此,如何使資料庫系統內建自動建置、更新及刪除數據索引等智能功能,以加速後續資料搜尋效率及精準度,並降低管理者之人力耗費,即為本領域相關從業者極欲改善之課題。
有鑑於習知技藝之問題,本發明之目的在於提供一種資料索引自動建置方法,以透過資料庫內建自動產生、更新及刪除資料索引等智能功能提升資料管理之準確性及執行率,使有效降低管理者之人力耗費。
根據本發明之目的,該資料索引自動建置方法係為一資料庫執行至少一調查語句(Query)之相關資料時,自動產生至少一數據索引之技術,以加速後續相關資料查詢而提升執行效能,其包含下列步驟:接收該調查語句;比對至少一表單(Table)中現存之該數據索引;當
該調查語句獲得對應之該數據索引時,使用該表單中現存之該數據索引直接搜索對應該調查語句之相關資料;當該調查語句無對應之該數據索引時,記錄該調查語句之一條件欄位(Where Condition)、一排序欄位(Sorting)及一分類欄位(Group by);及整合該條件欄位、該排序欄位及該分類欄位,以自動產生新建之該數據索引,並填列至對應之該表單中。
其中,整合該條件欄位、該排序欄位及該分類欄位時,係以現存之該數據索引分別比對該條件欄位、該排序欄位及該分類欄位,以產生新建之該數據索引。當使用現存之該數據索引搜索該調查語句時,記錄該調查語句之一查詢時間及記錄使用之該表單及該數據索引之一識別碼(ID)。而,於產生新建之該數據索引後,運算該查詢時間及該識別碼以獲得該數據索引之一靜置時間,且比較該靜置時間與一參數值,當該靜置時間大於該參數值時刪除對應之該數據索引。並且,該資料庫係周期性地分析該表單,以週期性地刪除該數據索引,如此,移除(Drop)長時間未使用之該數據索引即可避免因存放過多不必要之該數據索引而拖累該資料庫執行效能的問題發生。
本實施例中,該資料庫係為雲端資料庫,且支援結構化查詢語言(Structured Query Language,SQL),使可廣泛適用於不同結構之該資料庫中而提升實用性。
綜上所述,本發明係為該資料庫內建之索引自動管理程序,使允許該資料庫自動分析該調查語句而自動產生、更新及刪除該數據索引的智能功能,如此,無需外
掛程式即可降低資料管理成本,且可避免程式相容問題而提升工作穩定性,又應用於傳統資料庫架構時,可減少管理者的人力耗費且提升該數據索引的建置正確性。
為使 貴審查委員能清楚了解本發明之內容,謹以下列說明搭配圖式,敬請參閱。
請參閱第1~4圖,其係分別為本發明較佳實施例之一流程圖、一資料庫架構圖、資料庫操作介面示意圖及欄位記錄示意圖。如圖所示,該資料庫1係內建有一資料索引自動建置程序2之智能功能,使可自動搜集該資料庫1接收之至少一調查語句30並自動整合分析語句欄位後,自動產生、更新或刪除對應欄位條件之至少一數據索引210,以有效管理該數據索引210而加速後續相關資料查詢及提升執行效能。該資料索引自動建置程序2主要設有一記錄模塊20及一處理模塊21,且其資料索引自動建置方法係包含下述步驟。該記錄模塊20可為該資料庫1之接收程序或與其電訊連接,用以搜集並記錄所有輸入之該調查語句30,而該處理模塊21可為背景程式(Daemon)且電訊連接該記錄模塊20,使於該資料庫1開啟電源時、定時或下指令時啟動,以分析及整合該記錄模塊20所搜集之資料後建立適合之該數據索引210。
首先,開啟該資料庫1進入一操作介面10,同時啟動背景程式之該資料索引自動建置程序2,且該資料庫1接收該調查語句30而執行相關資料查調時,步驟S1:該記錄模塊20搜集該資料庫1接收之該調查語句30,
例如select * from t1 where c1=c12、select * from t1 order by c2,c1或select * from t1 order by c2,且順帶一提的是,由於該資料索引自動建置程序2係為內建程序,故與該資料庫1使用相同之原始碼,如此即無轉碼或重新編編而導致相容性及異常等問題。
並且,於步驟S2中,該資料庫1比對至少一表單11中現存之該數據索引210,以確認是否現存有對應該調查語句30之該數據索引210。當該調查語句30獲得對應之該數據索引210時,步驟S3:使用該表單11中現存之該數據索引210直接搜索對應該調查語句30之相關資料。而當該調查語句30無對應之該數據索引210時,執行步驟S4:記錄該調查語句30之一條件欄位(Where Condition)200、一排序欄位201(Sorting)及一分類欄位202(Group by),此時,管理者亦可透過該操作介面10檢視該記錄模塊20之作動過程。舉例而言,當該調查語句30為select * from t1 where c1=c12或select * from t1 where c1=c12 and c3=”hello”時,可分別記錄條件欄位:200c1及c1,c3內容;當該調查語句30為select * from t1 order by c2,c1時,記錄排序欄位201:c2,c1,又為select * from t1 order by c2時記錄分類欄位:202c2。
接著,步驟S5,該處理模塊21自該記錄模塊20接收並整合該條件欄位200、該排序欄位201及該分類欄位202之記錄內容,以自動產生新建之該數據索引210,例如該調查語句30為select * from t1 where c1=c12而搜集記錄c1時,適當建置create index idx1 on t1(c1)
之該數據索引210,並填列至對應之該表單11中,以利後續資料管理與擷取。如此,使用於傳統資料庫架構時,該資料索引自動建置程序2自動搜集使用過之該調查語句30,並針對無對應索引可執行之該調查語句30進行欄位分析後,自動新建適當之該數據索引210,以有效減輕管理者的工作負擔及降低人力耗費。
進一步地,請一併參閱第5、6圖,其係分別為本發明較佳實施例之次一流程圖及次一資料庫架構圖。如圖所示,該資料庫1可為雲端資料庫而接受管理者透過遠端裝置3進行資料存取,且其可依內存資料的擷取、更新或刪除等操作而自動匯整形成分別適用於全域(Global)及叢集(Cluster)之該數據索引210,以提升執行效能,並方便管理者添增雲端資料伺服器而調整資料庫架構。並且,為避免單一表單11中存列有過多索引而影響資料插入、刪除或更新等執行效能,該處理模塊21於步驟S5中,係以現存之該數據索引210分別比對新搜集之該條件欄位200、該排序欄位201及該分類欄位202,且整合簡化各調查語句30之記錄欄位,例如該記錄模塊20搜集兩調查語句30:select * from t1 where c1=c12及select * from t1 where c1=c12 and c3=”hello”而分別記錄c1及c1,c3時,該處理模塊21新建同時滿足兩查詢條件30之該數據索引210:creat index idx13 on t1(c1,c3),如此即可避免一調查語句30之一欄位即建置新一數據索引210的情況發生。換言之,單一數據索引210可使用於不同之該調查語句30,大符降低自動索引的建置量,有效控管索引數據而提升管理效
能。
並且,於步驟S3,使用現存之該數據索引210搜索該調查語句後,該記錄模塊20執行步驟S30:記錄該資料庫1執行該調查語句30之一查詢時間203,及記錄執行相關資料查詢時所使用過之該表單11及該數據索引210之一識別碼204(ID)。如此,於步驟S5,該處理模塊21產生新建之該數據索引210後,進入步驟S50:運算該查詢時間及該識別碼以獲得該數據索引210之一靜置時間211,及步驟51:比較該靜置時間211是否大於一參數值?當該靜置時間211大於該參數值時,即步驟S510:刪除對應之該數據索引210。反之則步驟S511:保留對應之該數據索引210。其中,該資料庫1係周期性地分析該表單11,以週期性地刪除長時間未使用之該數據索引210而提升自動建置之該數據索引210之實用性。
值得注意的是,該資料庫1更可支援結構化查詢語言,以利應用於不同結構之伺服設備中而提升實用性。
以上所述僅為舉例性之較佳實施例,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。
1‧‧‧資料庫
10‧‧‧操作介面
11‧‧‧表單
2‧‧‧資料索引自動建置程序
20‧‧‧記錄模塊
200‧‧‧條件欄位
201‧‧‧排序欄位
202‧‧‧分類欄位
203‧‧‧查詢時間
204‧‧‧識別碼
21‧‧‧處理模塊
210‧‧‧數據索引
211‧‧‧靜置時間
3‧‧‧遠端裝置
30‧‧‧調查語句
S1~S511‧‧‧步驟
第1圖 係為本發明較佳實施例之一流程圖。
第2圖 係為本發明較佳實施例之一資料庫架構圖。
第3圖 係為本發明較佳實施例之一資料庫操作介面示意圖。
第4圖 係為本發明較佳實施例之一欄位記錄示意圖。
第5圖 係為本發明較佳實施例之次一流程圖。
第6圖 係為本發明較佳實施例之次一資料庫架構圖。
S1~S511‧‧‧步驟
Claims (7)
- 一種資料索引自動建置方法,係為一資料庫執行至少一調查語句之相關資料時,自動產生至少一數據索引之技術,以加速後續相關資料查詢而提升執行效能,其包含下列步驟:接收該調查語句;比對至少一表單11中現存之該數據索引;當該調查語句獲得對應之該數據索引時,使用該表單11中現存之該數據索引直接搜索對應該調查語句之相關資料;當該調查語句無對應之該數據索引時,記錄該調查語句之一條件欄位、一排序欄位及一分類欄位;及整合該條件欄位、該排序欄位及該分類欄位,以自動產生新建之該數據索引,並填列至對應之該表單11中。
- 如申請專利範圍第1項所述之資料索引自動建置方法,其中整合該條件欄位、該排序欄位及該分類欄位時,係以現存之該數據索引分別比對該條件欄位、該排序欄位及該分類欄位,以產生新建之該數據索引。
- 如申請專利範圍第2項所述之資料索引自動建置方法,當使用現存之該數據索引搜索該調查語句時,更包含下列步驟:記錄該調查語句之一查詢時間;及記錄使用之該表單11及該數據索引之一識別 碼。
- 如申請專利範圍第5項所述之資料索引自動建置方法,當產生新建之該數據索引後,更包含下列步驟:運算該查詢時間及該識別碼,以獲得該數據索引之一靜置時間;及比較該靜置時間與一參數值,當該靜置時間大於該參數值時,刪除對應之該數據索引。
- 如申請專利範圍第4項所述之資料索引自動建置方法,其中該資料庫係周期性地分析該表單11,以週期性地刪除該數據索引。
- 如申請專利範圍第5項所述之資料索引自動建置方法,其中該資料庫係為雲端資料庫。
- 如申請專利範圍第6項所述之資料索引自動建置方法,其中該資料庫係支援結構化查詢語言。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101140748A TW201419010A (zh) | 2012-11-02 | 2012-11-02 | 資料索引自動建置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101140748A TW201419010A (zh) | 2012-11-02 | 2012-11-02 | 資料索引自動建置方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201419010A true TW201419010A (zh) | 2014-05-16 |
Family
ID=51294339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101140748A TW201419010A (zh) | 2012-11-02 | 2012-11-02 | 資料索引自動建置方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201419010A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608097A (zh) * | 2014-11-19 | 2016-05-25 | 财团法人资讯工业策进会 | 适应性调整数据库结构的方法与调整装置 |
-
2012
- 2012-11-02 TW TW101140748A patent/TW201419010A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608097A (zh) * | 2014-11-19 | 2016-05-25 | 财团法人资讯工业策进会 | 适应性调整数据库结构的方法与调整装置 |
TWI643077B (zh) * | 2014-11-19 | 2018-12-01 | 財團法人資訊工業策進會 | 適應性調整資料庫結構之方法與調整裝置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299102B (zh) | 一种基于Elastcisearch的HBase二级索引系统及方法 | |
US20140201192A1 (en) | Automatic data index establishment method | |
US8219518B2 (en) | Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process | |
EP2577507B1 (en) | Data mart automation | |
WO2017096939A1 (zh) | 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法 | |
CN103970902B (zh) | 一种大量数据情况下的可靠即时检索方法及系统 | |
CN102184222B (zh) | 一种在大数据量存储中快速检索的方法 | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US20150310129A1 (en) | Method of managing database, management computer and storage medium | |
CN103631842B (zh) | 用于检测多列复合键列集合的方法和系统 | |
CN111382226A (zh) | 一种数据库查询检索方法、装置和电子设备 | |
WO2024001493A1 (zh) | 一种可视化的数据分析方法及设备 | |
CN109213826B (zh) | 数据处理方法和设备 | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN102819600B (zh) | 面向电力生产管理系统关系数据库的关键词搜索方法 | |
US20150363442A1 (en) | Index merge ordering | |
CN109902101A (zh) | 基于SparkSQL的透明分区方法及装置 | |
US20210042302A1 (en) | Cost-based optimization for document-oriented database queries | |
CN117076742A (zh) | 数据血缘追踪方法、装置及电子设备 | |
CN116680445B (zh) | 基于知识图谱的电力光通信系统多源异构数据融合方法及系统 | |
CN110019139A (zh) | 数据迁移的方法、装置、电子设备和存储介质 | |
CN115809268B (zh) | 一种基于分片索引的自适应查询方法和装置 | |
CN111259082A (zh) | 大数据环境下实现全量数据同步的方法 | |
TW201419010A (zh) | 資料索引自動建置方法 | |
US12026146B2 (en) | Data analysis method, apparatus and device |