TW200903324A - Systems and methods for modeling partitioned tables as logical indexes - Google Patents

Systems and methods for modeling partitioned tables as logical indexes Download PDF

Info

Publication number
TW200903324A
TW200903324A TW097110560A TW97110560A TW200903324A TW 200903324 A TW200903324 A TW 200903324A TW 097110560 A TW097110560 A TW 097110560A TW 97110560 A TW97110560 A TW 97110560A TW 200903324 A TW200903324 A TW 200903324A
Authority
TW
Taiwan
Prior art keywords
partition
predicate
query
logical index
index
Prior art date
Application number
TW097110560A
Other languages
English (en)
Inventor
Craig S Freedman
Cesar A Galindo-Legaria
Miland M Joshi
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200903324A publication Critical patent/TW200903324A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

200903324 九、發明說明: 【發明所屬之技術領域】 本發明係關於用於模型化分區表為邏輯索引之系統及 方法。 【先前技術】 與非分區表相比,分區資料庫資料表提供某些優點, 但亦導致額外複雜性。舉例而言,用於處理分區表之查詢 可能比非分區表查詢更複雜。此外,查詢最佳化及查詢執 行必須處理查詢分區表所導致之這種增加的複雜性,因此 減損該等優點。 【發明内容】 以下簡要展示本發明之内容,以便為讀者提供一基本 瞭解。本發明内容不詳盡概述本揭示内容,且可能不識別 本發明之重要或關鍵元件,或描繪本發明之範疇。其唯一 目的在於以一簡化形式展示本文所揭示之某些概念,作為 後面展示之更詳細說明之一序部。 本實例提供用於形成邏輯索引及利用此類索引,來略 去許多引用分區資料庫資料表所導致之該等複雜性的若干 技術。其中包含用於利用資料表中繼資料之保序屬性之技 術、用於在分區表上之合併聯結處理中向一顯式述詞添加 一分區相等性述詞之技術,及用於當一查詢述詞未參考一 特定分區時,選擇在一分區表上執行一邏輯跳過掃描之技 術。此類技術大體上自該查詢編寫器及處理系統略去資料 表分區顯式引用。 5 200903324 藉由參考以下結合隨附該等圖式考量之實施方式 更易於瞭解亦同樣更佳地瞭解許多該等輔助特徵結構 【實施方式】 以下結合隨附圖式提供之實施方式擬作本實例之 明,且無意於表示可構造或使用本發明及/或本實例之 形式。本說明闡述該等實例之至少某些函式及/或用於 及操作實例之步驟序列。但是,相同或等效函式及序 由不同實例。 儘管本實例在本文中被說明及圖解說明為實施於 庫及計算系統中,所說明之該等系統係作為實例提供 並非限制性的。本實例適用於各種不同類型資料庫及 系統之應用。舉例而言,本實例適用於資料庫及計算 中使用迭代器處理或執行查詢之應用程式,其藉由將 編譯成機器編瑪、p c 〇 d e、或任何其他編碼或語言,或 任何其他查詢處理系統或諸如此類。 第1圖係顯示一包含實例中繼資料1 2 9之實例分 料庫資料表1 2 0上之一實例邏輯索引11 0之方塊圖。 索引110表示一使用本發明之方法產生之索引,且通 用於模型化一資料庫資料表。舉例而言,一邏輯索引 型化一分區堆積(一非索引資料表)、一分區表、一分 引,諸如此類。資料庫資料表1 20被分區或分割為五 例分區‘ A’至‘ E ’,諸如實例分區1 2 4。每一分區通常包 唯一分區標識符(“分區ID”或“pID”)。如在此所使用 語“分區”大體上指分區表及/或分割表。當用於本文時 ,將
一說 唯一 構造 列可 資料 ,而 計算 系統 查詢 經由 區資 邏輯 常係 可模 區索 個實 含一 之術 ,術 6
200903324 語“資料表”大體上指資料庫資料表及/或資料庫索引。實例 中繼資料1 2 9係與資料表1 2 0相關聯,且被展示以包含分 區函式pf(Key),其中Key係一分區鍵(“Key”)。一分區 函式(“pf”或“p f () ’’),諸如p f(Key),通常返回一分區標識 符。其他資料亦可包含於中繼資料1 2 9中,此其他資料通 常與實例資料表1 2 0之該等分區關聯。分區可以包含亦可 以不包含鍵行,諸如在循環式分區的情況下,循環式分區 通常不利用分區鍵。大體而言,本文中所使用之標記法(a, b,c,.·.)表示一具有行a、b、c,等等之資料表,或一具有 索引鍵a、b、c,等等之索引。舉例而言,一邏輯索引包 含一用於分區ID之第一或前導行、一用於姓氏之第二行, 及一用於名字之第三行,該邏輯索引可以表示為(pID, LAST_NAME, FIRST_NAME)。本文中,此類標記法大體上 應用於表、邏輯索引、習知索引,諸如此類。大體而言, 一資料表可根據一鍵(該分區鍵)分區,且根據一不同鍵 (該索引鍵)索引。 在另一實例中,一資料表可在兩個或兩個以上維度中 分區。此類分區通常被稱作混合分區。舉例而言,考量一 具有行(a,b)之資料表(或一資料表上之索引)。舉例而言, 此類資料表可根據 pfrange(a)進行範圍分區且同時根據 pfhaSh(b)進行雜湊分區,其中a及b可表示相同或不同行/ 鍵及/或包括多個行/鍵。既定該實例述詞((a=l) AND (b = 2)) 後,為正確定位分區,通常需要對分區函式 pfrange(a)及 pfhash(b)兩者均進行求值。可在此類混合分區表及/或索引 7 200903324 上形成一邏輯索引,該邏輯索引通常包含兩個或兩個以上 分區ID行。此類分區ID行之順序可改變,且通常係該邏 輯之該等前導行索引。舉例而言,可形成一邏輯索引(pIDA, pIDB,key(s)) ’ 其中 pIDA = pfrange(a)及 pIDB = pfhash(b) ’ 且key(s)表示零或更多個其他索引行/鍵。因此,在混合分 區的情況下’多個分區函式可用作該分區函式。
第2圖係顯示另一實例分區資料庫資料表2 2 0之方塊 圖,該分區資料庫資料表 2 2 0包含兩個實例分區 2 2 1和 2 2 2,及實例中繼資料2 2 8和2 2 9。分區2 2 1及2 2 2包含藉 由LAST—NAME鍵控之資料,如中繼資料22 8之所示,其 中區段2 2 1 a含有姓氏以字母‘ A’開頭的資料,及區段2 2 1 b 含有姓氏以字母‘ B,開頭的資料。類似地,分區2 2 2之區段 222c含有姓氏以字母‘C’開頭的資料,及區段222d含有姓 氏以字母‘ D,開頭的資料。分區2 2 1及2 2 2之每一者包含分 區ID,其中pID = l標識分區221,及pID = 2標識分區222。 其他分區(未顯示且對於本實例之目的並非至關重要),可 包含姓氏以字母‘ E ’至‘ Z ’開頭之其他資料,諸如此類。實 例分區2 2 1及2 2 2係使用範圍分區形成,以便分區2 2 1及 222包含資料表220之所有列,其中,該LAST —NAME行 由在分區 221中以字母‘A’或‘B’開頭之字串及在分區222 中以字母‘ C ’或‘ D ’開頭之字串組成。邏輯索引亦可支援使 用其他分區類型形成之分區,包含使用雜湊分區、清單分 區、循環式分區、混合分區,及其他形式之分區形成之分 區。 8
200903324 中繼資料2 2 9為分區2 2 1及2 2 2定義實例分區函式 pf(Key),這是一種範圍分區函式,如下所示: pf(Key) { if Key = "A*" then return pID=l; if Key = " B * " then return pID = 1 ; if Key = "C*" then return pID = 2; if Key = "D*” then return pID = 2; } 其中,如果輸入K e y = " A * "以字母1 A’開頭之字 串),貝pf(Key)根據定義返回標識分區221之pID=l,等 等。大體而言,對於任何輸入字串,若Key以字母4A’或‘B’ 開頭,貝1丨P f (K e y )標識分區2 2 1 ’及對於以字母‘ C ’或‘ D ’開 頭之任何輸入字串,標識分區 222。大體而言’分區函式 pf(Key)返回一資料表分區之分區ID,該資料表分區含有 對應於Key之資料表列。請注意,鍵可表示一索引鍵行值 或一非索引鍵行值。在替代實例中,索引鍵及查詢述詞可 包括任何適當資料類型。此外,可使用任何適當分區函式。 在一實例中,一分區函式不引用任何資料表或索引行,諸 如對於循環式分區,其中該分區函式可將連續列指派至下 一分區。或者,一分區函式可引用一不存在於一索引中之 資料表行、或在一索引及/或一資料表中之一非前導索引 行、或多個行。大體而言,一分區函式可引用零、一、或 多個索引及/或資料表行。 9 300 300
200903324 第3圖係顯示一用於建立一邏輯索引之實例方法 之方塊圖。與一習知索引相反,一 “邏輯索引”係在一 表或者一包含一或多個分區ID行(通常為前導行) 引上之一索引。在替代實例中,該邏輯索引分區ID 以不是該前導行。一邏輯索引可以包含亦可以不包含 區鍵或一索引鍵。舉例而言,一分區堆積上之一邏輯 通常不包含分區鍵或索引鍵。為任何水平分區表可產 類邏輯索引。 方塊3 1 0指示判定該分區表是否根據一鍵被索引 例而言,在第 2圖中所示之資料表 220 之分區 LAST—NAME行被索引,該L A S T —N A Μ E列值被看作叙 其他表(包含分區堆積)可能未被索引。如果該分區 被索引,則方法3 0 0通常繼續於方塊3 2 0。如果該分 被索引,則方法3 0 0通常繼續於方塊3 3 0。 方塊320指示在一非索引分區表上建立一邏輯索 這通常係藉由形成一邏輯索引(pID)而完成。一旦該邏 引已產生,則方法3 00通常完成。 方塊330指示在一索引分區表上建立一邏輯索引 通常係藉由形成一邏輯索引(pID, Key)而完成,pID之 行後跟來自該分區表索引之鍵行。該邏輯索引的pID 每一列中之pID值通常係使用一分區函式pf(Key)計 其中每一列值pID = pf(Key),其中Key為該邏輯索引 對應列之鍵值。鍵可表示一索引鍵行或任何其他索; 或資料表行。因此該pID行可被看作一計算行,其中 分區 之索 行可 一分 索引 生此 。舉 根據 t值。 表不 區表 引。 輯索 。這 前導 行之 算, 中該 Π及/ ,該 10 200903324 箅歹值被中钻 ' 、我為 pf(Key)。一旦該邏輯索引已產生,則方 法300通常完成。 /、-刀區函式為保序函式,諸如範圍分區函式,諸如 jtti 1 、 "本文時,術語“保序函式”大體上蘊示,舉例而 ° 如果 keyl > key2 則 pf(keyl) >= pf(key2)。舉例而言, 既定 keyi 夕办〜 之名子為“Freedman”及 key2 之名字之 “Collins”,t 由址 Γ "甲使用一字串比較,“Freedrnan,,>“c〇llins”, 則p f ( k e y 1 )可視^ ° 4’舉例而言,指分區4,同時pf(key2) 可返回任何,丨、& + # ;或專於4之分區數字,表示“Collins”係位 於“Freedman”所在分F 二 刀^之珂的分區内(’>'),或在相同分區 中。更大體上, ^ ^ —邏輯索引(pID,Key),其中,該 邏輯索引形成於—保東八 举+於tr ^ 刀區表上’且其中分區函式pf(Key)
對於Key係保序的, W 結果與針對(Key)之—、十對(PID,Key)之一排序所返回之 -V Γ ^ _序返回相同順序結果。其他分區函 式(諸如雜湊分區函垚 U山 宜A I 式)不是保序的。 第4圖係顯示—具 4 7 η B bit 關聯輸入4 1 0之實例查詢處理5| 420及儲存引擎44〇之 疫里盗 ,,±i , _ 万魂圖。查詢處理器420通常在鲶 入樹410中所引用之饪 吊隹輸 ._ . 可分區表上建立邏輯索引。此外, 查响處理器420之元件 卜 及邏輯(422、424、426 及 428)可
插縱用以使用該等邏輯 J 考量引用表之該等分丨處理查詢’而大體上無須另外 型化該等分…使:二即’該等邏輯索引以某一方式模 ._ ' 查詢最佳化及執行中忽略一資艇 表已經被分區這一事實 貝料 .,„ ., ’其中該邏輯索引允許發生查詢最 佳化及執行,就如同診次 ^ μ貝料表未分區一樣。最後,邏輯f 11
200903324 引層428於該等邏輯索引及引用資料表分區之間執 轉換,以允許經由介面430及儲存引擎440適當存卑 儲存分區表。在一實例中,查詢最佳化器422建立II 輯索引。查詢最佳化器及/或查詢執行功能之實例,每 文以下所述之實例,可以採用替代方式或補充方式, 或部分地藉由查詢處理器4 2 0之任何元件或元件組名 行。 輸入樹41 0表示已處理之使用者輸入。在一實使 一使用者向一資料庫系統提交一查詢,該查詢通常祐 (包含語法及語意驗證),及準備一輸入樹,用於描述 該查詢所需之邏輯操作。輸入樹4 1 0通常係一資料結 諸如此類,且可採取任何適合於向查詢處理器4 2 0指 查詢之形式。 查詢最佳化器 4 2 2將輸入樹 4 1 0轉換為執行 4 2 4,執行計畫4 2 4通常描述執行該查詢所需之實體决 執行計畫424被結構化,以基於邏輯索引而非基於該 區本身引用分區表,因此效果上察覺不到該等分區。 最佳化器4 2 2通常利用保序屬性(諸如一資料表之箣 區)來最佳化執行計晝 424。舉例而言,藉由(Key) 資料表T之一順序保留分區、資料表T上之一保序分 式pf(Key),及資料表T之該等分區上之一邏輯索引 Key),考量以下查詢: SELECT * FROM T ORDER BY Key 必要 該等 等邏 如本 整體 來執 中, 分析 執行 構, 述該 計晝 Η乍。 等分 查詢 圍分 既定 區函 (pID, 12
200903324 查詢最佳化器 422 可操縱以受益於該保序屬性 pf(Key),即,既定一使用具有述詞(pf(Key),Key)之邏輯 索引(pID, Key)的查詢,該查詢最佳化器422返回之順序 結果與帶有述詞(K e y)時結果相同,但不再需要當使用該述 詞(Key)時所需要之排序操作。大體而言,既定資料表 T 之一保序分區、表T上之一保序分區函式pf(Key)資料, 及表T之該等分區上之一邏輯索引(pID, Key)資料,查詢 最佳化器4 2 2通常形成用於查詢資料表T之執行計晝,以 便該述詞(pf(Key), Key)替代(Key),其中(Key)表示資料表 T之一或多個行及/或索引鍵。受益於此類保序屬性及對應 邏輯索引,與以其他方式可能達到之效率相比,查詢最佳 化器4 2 2可形成更有效的執行計晝。 在另一實例中,與以其他方式可能達到之效率相比, 查詢最佳化器4 2 2使用邏輯索引可形成更有效的合併聯結 執行計畫。舉例而言’既定分區表A及B ’其中資料表A 係基於分區函式pfA()分區,及資料表B係基於分區函式 pfB()分區,且既定資料表A上之邏輯索引(pIDA, a)及資料 表B上之(pIDB, b),考量一帶有顯式述詞(a = b)之合併聯 結。通常此類合併聯結不能繼續,因為該等兩個邏輯索引 係依據其各自pID行排序。可基於該等邏輯索引之屬性以 如下方式解決此限制:藉由查詢最佳化器422將一隱式述 詞(p f a (a) = p f b (b))添加至該合併聯結之顯式述詞,因此形 成一複合述詞((a = b) AND (pfA(a) = pfB(b)))。在替代實例 13
200903324 中,可將不相等隱式述詞添加至對應之不相等顯式述詞, 以形成不相等複合述詞。舉例而言,對於該不相等顯式述 詞(a>b),可添加一對應不相等隱式述詞(pfA(a)> = pfB(b))。 藉由至少部分地基於此類複合述詞形成一執行計畫,該實 例合併聯結可繼續,而不考慮水平資料表分區之類型(諸 如範圍分區、雜湊分區,諸如此類)。 查詢執行426通常執行藉由查詢最佳化器422產生之 執行計畫424。執行計晝424中之運算子可存取儲存在表 中之資料,諸如分區表。查詢執行426大體上不直接存取 該等表,而是利用儲存引擎介面427。介面427之一實例 係“目標連結及嵌入資料庫”(“OLE DB”)。可作為替代或 補充,使用任何其他適當資料存取方法或介面,諸如一標 準協定、一標準協定之延伸’諸如此類。查詢執行4 2 6通 常可操縱以經由介面 427,基於邏輯索引而非基於該等分 區本身來存取引用表。在一實例中,介面427及介面430 係採用相同資料存取協定,諸如OLE DB等等。 查詢執行426在執行執行計晝424時通常利用邏輯索 引。舉例而言,藉由(a)既定資料表T之一分區、資料表 T上之一分區函式pf(a),及資料表T之該等分區上之一邏 輯索引(pID, b),考量以下查詢: SELECT * FROM T WHERE b = 3 查詢執行426可操縱以受益於該邏輯索引(pID, b)及 14
200903324 分區函式pf(a),即資料表T係根據pf(a)分區,而 述詞(b = 3)之索引鍵分區。因此查詢執行426在資料 每一分區中尋找匹配該述詞(b = 3 )之列。在替代實例 述詞可為一不相等述詞,諸如(b < 3 )。此類尋找在此 “邏輯跳過掃描”。大體而言,查詢執行4 2 6可操縱 一查詢述詞不包含據以對資料表進行分區或引用一 區之索引鍵時,利用邏輯索引屬性及其他中繼資料 分區表執行邏輯跳過掃描操作。 邏輯索引層428耦接於查詢執行426與儲存引 之間,以便提供必要轉換,自該等邏輯索引中之分 用轉換至可用於儲存引擎440之特定分區標識符。 言,邏輯索引層42 8轉換該等相關pID邏輯索引引 以供介面43 0及儲存引擎440使用之該等適當資料 標識符。此類轉換通常亦包含移除該等邏輯索引及 用,以便不向儲存引擎 440 (它不瞭解此類引用) 等邏輯引用。儲存引擎440經由介面430接收存取 作為及藉由根據指示存取該等儲存資料庫資料表分 應。 第5圖係顯示一用於建立及利用一邏輯索引以 詢處理之實例方法5 0 0之方塊圖。此類方法可藉由 查詢處理器之一系統執行,該查詢處理器例如為結 圖說明之查詢處理器420。方法500之部分520表 由一實例查詢處理器執行之部分。藉由方塊5 3 0代 法5 0 0部分亦可藉由部分5 2 0執行,但通常將不會 非根據 表T之 中,該 被稱作 用以在 特定分 屬性對 擎440 區表引 大體而 用至足 表分區 pID引 公開此 指令, 區來響 進行查 包含一 合第4 示可藉 表之方 要求創 15
200903324 建一邏輯索引以與非分區表交互。因此,方法5 0 0 用於分區與非分區表之一混合物。 方塊5 1 0指示為方法5 0 0提供輸入。此類輸入 示一查詢,其可作為一資料結構等被提供,且可採 於描述該查詢之任何形式。一旦輸入510可用,方 通常繼續於方塊522。 方塊5 22指示判定一由該輸入查詢引用之資料 係一分區表。如果一被引用資料表不是一分區表, 5 0 0通常繼續於方塊5 3 0,然後是方塊5 4 0,這指示 分區資料表相關聯之查詢處理及然後存取儲存資 料。如果一被引用資料表係一分區表,則方法5 00 續於方塊5 2 4。 方塊524指示在該引用資料表上建立一邏輯索 定一引用多個分區表之輸入查詢可產生多個邏輯索 於非索引表,這通常係藉由形成一邏輯索引(pID)完 於索引表,這通常係藉由形成一邏輯索引(pID, 成,pID之該前導行後跟Key的行,該索引資料表 列對應於一列。在每一列該ρ ID行中之p ID值通常 一分區函式pf(Key)計算,其中列值pID = pf(Key) 中Key為在該索引分區表中該對應列之Key值。一 該邏輯索引,方法5 0 0通常繼續於方塊5 2 6。 方塊5 2 6指示處理該查詢。這通常包含使用該 引形成一執行計晝,及使用該邏輯索引執行該執行 執行通常涉及藉由方塊528指示之步驟。 亦可應 通常表 取適合 法5 00 表是否 則方法 與一非 料表資 通常繼 引。既 引。對 成。對 Key)完 之每一 係使用 ,及其 旦產生 邏輯索 計畫。 16 200903324 方塊5 2 8指示將執行計畫邏輯索引分區引用 合於提交至一儲存引擎介面之分區標識符。一旦 該適當轉換,方法5 0 0通常繼續於方塊5 4 0。 方塊5 4 0指示經由一資料庫儲存引擎或諸如 引用資料表資料。此類存取可包含讀取、寫入、 任何其他資料表資料存取類型。 第6圖係顯示一實例計算環境600之方塊圖 實施本文所述之技術、系統,及方法。一適當計 使用眾多一般用途或特殊目的系統實施。習知系 可包含,但不限於,行動電話、個人數位助理( 個人電腦(“個人電腦”)、手持式或膝上型裝置、 理器的系統、多處理器系統、伺服器、工作站、 子裝置、視訊盒,諸如此類。 計算環境600通常包含——般目的計算系統 為一耦接至各種組件(諸如周邊裝置 602、603、 如此類)之計算裝置6 0 1。系統6 0 0可經由一或j 輸出(“I/O”)介面612耦接至諸如輸入裝置603 他組件,包含語音辨識、觸摸墊、按鈕、鍵盤及/ 滑鼠或軌跡球之指標裝置。計算裝置60 1之組件 或多個處理器(包含中央處理單元(“CPU”)、圖 元(“GPU”)、微處理器(“μΡ”),諸如此類)607 憶體6 0 9,及一通常耦接該等各種組件之系統匯痛 處理器607通常處理或執行各種電腦可執行指令 計算裝置6 0 1之操作及經由各種通信連接(諸如 轉換至適 已經進行 此類存取 提交,或 ,其中可 算環境可 統之實例 “PDA”)、 基於微處 消費者電 ,其形式 604,諸 《個輸入/ 之各種其 或諸如一 可包含一 形處理單 、系統記 i 排 6 0 8。 ,以控制 —網路連 17
200903324 接6 1 4或諸如此類)與其他電子及/或計算裝置、系統或環 境(未顯示)通信。系統匯流排6 0 8表示任意數量之若干 類型之匯流排結構,包含一記憶體匯流排或記憶體控制 器、一周邊匯流排、一串列匯流排、一加速圖形璋、一處 理器或使用任何各種匯流排架構之區域匯流排,諸如此類。 系統記憶體6 0 9可包含揮發性記憶體形式之電腦可讀 媒體,諸如隨機存取記憶體(“RAM”),及/或非揮發性記 憶體,諸如唯讀記憶體(“ROM”) 或快閃f己憶體 (“FLASH”)。一基本輸入/輸出系統(“BIOS”)可被儲存 於非揮發性記憶體或諸如此類中。系統記憶體6 0 9通常儲 存資料、電腦可執行指令及/或程式模組,其包括立即可存 取及/或目前藉由一或多個處理器 607操作於其上之電腦 可執行指令。 大量儲存裝置6 0 4及6 1 0可經由耦接至該系統匯流排 來耦接至計算裝置601或併入計算裝置601。此類大量儲 存裝置604及6 1 0可包含非揮發性隨機存取記憶體、一讀 取自及/或寫入一可移除、非揮發性磁碟(例如,一 “軟磁 碟”)605之磁碟驅動機,及/或一讀取自及/或寫入一非揮 發性光碟(諸如一唯讀光碟、唯讀DVD) 606之光碟驅動 機。或者,一大量儲存裝置(諸如硬磁碟 610)可包含非 可移除儲存媒體。其他大量儲存裝置可包含記憶體卡、記 憶條、磁帶儲存裝置,諸如此類。 任意數量之電腦程式、檔案、資料結構或諸如此類可 被儲存於大量儲存裝置610、其他儲存裝置604、605、606 18
200903324 及系統記憶體6 0 9 (通常受可用空間限制),其 實例之方式,且不限於此)操作系統、應用程 案、目錄結構、電腦可執行指令,諸如此類。 輸出組件或裝置(諸如顯示裝置 6 0 2 )通 如一顯示配接器6 1 1之一介面耦接至計算裝置 裝置602可為一液晶顯示器(“LCD”)。其他實 可包含列印機、聲頻輸出、語音輸出、陰極射線 顯示器、觸覺裝置或其他感應器輸出機構,諸 出裝置可使計算裝置60 1能夠與操作員或其 統、計算環境交互,諸如此類。一使用者可經 之不同I/O裝置603 (諸如一觸摸墊、按鈕、鎖 操縱桿、遊戲墊、資料埠,諸如此類)與計算 接。此等及其他I/O裝置可經由I/O介面612 器607,I/O介面612可耦接至系統匯流排608 由其他介面及匯流排結構耦接,諸如一平行埠 通用序列匯流排(“ U S B ’’)、火線(f i r e w i r e)、h 埠,諸如此類。 計算裝置6 Ο 1可經由通信連接操作於一網 該通信連接經由一或多個行動網路、無線網路 (“LAN”)、寬區域網路 (“WAN”)、儲存 (“SAN”)、網際網路、無線電連結、光連結或 接至一或多個遠端計算裝置。計算裝置601可 接器6 1 3或諸如此類被耦接至一網路,或者, 數據機、數位用戶線(“ D S L ”)連結、整合服 包含(藉由 式、資料檔 常可經由諸 601 。輸出 例輸出裝置 管(“CRT,,) 如此類。輸 他機器、系 由任意數量 [盤、滑鼠、 環境600對 耦接至處理 ,及/或可藉 、遊戲淳、 :夕卜(“IR”) 路環境中, 、區域網路 區域網路 諸如此類連 經由網路配 亦可經由一 務數位網路 19 200903324 (“ISDN”)連結、網際網路連結、無線連結,諸如此類。
通信連接 6 1 4 (諸如一網路連接)通常提供耦接至通 信媒體(諸如一網路)之功能。通信媒體通常使用一調變 資料訊號(諸如一載波或其他傳輸機制)提供電腦可讀及 電腦可執行指令、資料結構、檔案、程式模組及其他資料。 術語“調變資料訊號”通常指一訊號,其以某一方式設定或 變更其特性之一或多個,以便在該訊號中編碼資訊。藉由 實例之方式,且不限於此,通信媒體可包含有線媒體,諸 如一有線網路或直接連線的連接諸如此類,及無線媒體, 諸如聲頻、射頻、紅外或其他無線通信機構。 電源 6 9 0 (諸如一電池或一電源)通常為部分或所有 計算環境6 0 0提供電源。在作為一行動裝置或便攜式裝置 或諸如此類之計算環境6 0 0情況中,電源6 9 0可為一電池。 或者,在計算環境600係一桌上型電腦或伺服器或諸如此 類之情況中,電源690可為一電源,其被設計為連接至一 交流(“AC”)電源,諸如經由一壁裝插座。 某些行動裝置可能不包含許多結合第 6圖說明之組 件。舉例而言,一電子證章可包括一個線圈及一簡單處理 單元607或諸如此類,該線圈經組態以當一卡閱讀器裝置 或諸如此類接近時充當電源 6 9 0。此類線圈亦可經組態以 充當耦接至該處理單元6 0 7或諸如此類之一天線,該線圈 天線能夠提供一種在該電子證章與該卡閱讀器裝置之間之 通信形式。此類通信可能不涉及網路連結,但亦可為經由 遙測術、點對點、射頻 '紅外線、聲頻,或其他裝置之一 20 200903324 般或特殊目的通信。一電子卡可能不包含顯示裝置 602、 I/O裝置603,或許多結合第6圖說明之其他組件。可能不 包含許多結合第6圖說明之該等組件的其他行動裝置,藉 由實例之方式(且不限於此),包含電子手鐲、電子標簽、 可植入裝置,諸如此類。
熟習此項技術者將認識到用於提供電腦可讀及電腦可 執行指令及資料之儲存裝置分散於一網路之上。舉例而 言,一遠端電腦或儲存裝置可儲存以軟體應用程式及資料 之形式的電腦可讀及電腦可執行指令。一區域電腦可經由 網路存取該遠端電腦或儲存裝置,及下載部分或所有一軟 體應用程式或資料,且可執行任何電腦可執行指令。或者, 該區域電腦可根據需要下載該軟體或資料片段,或藉由在 該區域電腦上執行某些指令及在遠端電腦及/或裝置上執 行某些指令,來分散式地處理該軟體。 熟習此項技術者亦將認識到,藉由利用習知技術,所 有或部分該軟件的電腦可執行指令可藉由一專用電子電路 執行,諸如一數位訊號處理器(“DSP”)、可程式邏輯陣列 (“PLA”)、離散電路,諸如此類。術語“電子裝置”可包含 包括任何軟體、韌體或諸如此類之計算裝置或消費者電子 裝置,或不包括軟體、韌體或諸如此類之電子裝置或電路。 術語“韌體”通常指在一諸如唯讀記憶體之電子裝置中 維護之可執行指令、編碼、資料、應用、程式或諸如此類。 術語“軟體”大體上指在任何形式之電腦可讀媒體中或之上 維護之可執行指令、編碼、資料、應用、程式或諸如此類。 21
200903324 術語“電腦可讀媒體”通常指系統記憶體、儲存裝置及其關 聯媒體,諸如此類。 鑒於可應用本發明之該等原理及該上述實例之許多可 能具體實施例,應認識到本文所述之該等實例意欲僅為示 意性的且不應被視為限制本發明之範疇。因此,如本文中 所述之本發明涵蓋如可落入該等以下申請專利範圍及其任 何等效範疇之範圍内的所有此類具體實施例。 【圖式簡單說明】 自以下結合隨附該等圖式考量之實施方式,將更佳地 瞭解本說明,其中: 第1圖係顯示一包含實例中繼資料之實例分區資料庫 資料表上之一實例邏輯索引之方塊圖。 第2圖係顯示包含兩個實例分區及實例中繼資料之另 一貫例分區貢料庫貢料表之方塊圖。 第3圖係顯示一用於建立一邏輯索引之實例方法之方 塊圖。 第4圖係顯示一具有關聯輸入之實例查詢處理器及一 儲存引擎之方塊圖。 第5圖係顯示一用於建立及利用一邏輯索引以進行查 詢處理之實例方法之方塊圖。 第6圖係顯示一實例計算環境之方塊圖,其中可實施 本文所述之該等技術、系統,及方法。 在隨附該等圖式中,使用類似參考標號指示類似部件。 【主要元件符號說明】 22 200903324 110 邏 上σ 秤 索 引 120 資 料 表 124 分 129 中 繼 資 料 220 資 料 表 221 分 區 222 分 區 228 中 繼 資 料 229 中 繼 資 料 410 輸 入 樹 420 查 詢 處 理 器 422 查 詢 最 佳 化 器 424 執 行 計 晝 426 查 詢 執 行 427 介 面 428 邏 輯 索 引 層 430 介 面 440 儲 存 引 擎 600 計 算 環 境 60 1 計 算 裝 置 602 顯 示 器 603 I/O 裝: ί 604 儲 存 裝 置 605 可 移 除 、 非 揮發性磁碟 23 200903324 606 非 揮 發 性 光碟 607 處 理 單 元 608 系 統 匯 流 排 609 系 統 記 憶 體 6 10 大 量 儲 存 器 611 顯 示 配 接 器 612 I/O介面 613 網 路 配 接 器 614 通 信 連 接 690 電 源
24

Claims (1)

  1. 200903324 十、申請專利範圍: 1. 一種在一分區表上建立一邏輯索引之方法,該方法包括 使用該分區表之一分區函式計算該邏輯索引之一分區標識 . 符行。 2, 如申請專利範圍第1項所述之方法,其中該邏輯索引包 含針對該分區表之每一分區中之每一列之一列’該分區標 識符行之每一列包含一唯一分區標識符。 3 .如申請專利範圍第1項所述之方法,其更包括將一索引 鍵行自該分區表上之一預先存在的索引附加至該邏輯索 引。 4.如申請專利範圍第3項所述之方法,其中該邏輯索引包 含該預先存在的索引之每一列,該邏輯索引之分區標識符 行中之每一對應列包含一等於自pf(Col)之一返回值之分 區標識符,其中p f為該分區函式及C ο 1係一來自在該每一列 上之一索引行之值。 5 .如申請專利範圍第1項所述之方法,其作為電腦可執行 〇 指令而具體實施,且儲存於一電腦可讀媒體上。 6. —種用於處理一分區表上之一查詢之系統,該系統包 括: '一用於在該分區表上建立一邏輯索引之構件,該邏輯 索引包含使用該分區表之一分區函式所計算之一分區標識 符行,及包含該分區表之一分區之一引用; 一查詢最佳化器,其可操縱以使用該邏輯索引形成一 執行計晝,且如同該分區表未分區;及 25
    200903324 一查詢執行構件,其可操縱執行該執行計畫,且如同 該分區表未分區。 7. 如申請專利範圍第6項所述之系統,其更包括一與該查 詢執行構件I馬接之邏輯索引層,該邏輯索引層可操縱以轉 換該分區之引用至一對應分區標識符,該對應分區標識符 可用於一儲存引擎構件,該儲存引擎構件耦接至該邏輯索 引層,且可操縱以使用該對應分區標識符存取該分區。 8. 如申請專利範圍第6項所述之系統,其中查詢最佳化器 以(pf(Col),Col)形式之一第二項來替代(Col)形式之一第 一項,其中pf()為該分區函式及Col係來自該邏輯索引之一 行值。 9 ..如申請專利範圍第8項所述之系統,其中該分區函式係 一保序分區函式。 1 0.如申請專利範圍第6項所述之系統,其中該查詢最佳化 器將 (pfA(a) = pfB(b))形式之一第二述詞添加至(a = b)形式 之一第一述詞,以形成一((a = b) AND (pfA(a) = pfB(b)))形式 之複合述詞,其中pfA()為該分區函式及pfB()係一第二分區 表之一第二分區函式,及a係一來自該邏輯索引之第一值, 且b係一來自該第二分區表之一第二邏輯索引之第二值。 1 1 .如申請專利範圍第1 〇項所述之系統,其中該第一述 詞、該第二述詞及該等複合述詞係相等性述詞或不相等述 詞。 1 2.如申請專利範圍第1 0項所述之系統,其中該複合述詞 用於一合併聯結操作。 26
    200903324 1 3 .如申請專利範圍第6項所述之系統,其中該查詢執行構 件執行一邏輯跳過掃描以回應該查詢,該查詢不包含一引 用一特定分區之項。 14. 一種用於處理一分區表上之一查詢之方法,該方法包 括: 使用該分區表之一分區函式在該分區表上建立一邏輯 索引,該邏輯索引包含至該分區表之一分區之一引用; 使用該邏輯索引處理該查詢,且如同該分區表未分區; 將該分區之引用轉換至一對應分區標識符;及 使用該對應分區標識符存取該分區。 1 5 .如申請專利範圍第1 4項所述之方法,其更包括使用該 邏輯索引形成一執行計晝,且如同該分區表未分區。 1 6.如申請專利範圍第1 5項所述之方法,其更包括執行該 執行計晝,且如同該分區表未分區。 1 7 .如申請專利範圍第1 4項所述之方法,其中該處理過程 包含以形式(pf(Col),Col)之一第二項替代形式(Col)之一 第一項,其中pf()為該分區函式及Col係一來自該邏輯索引 之行值。 I 8 ·如申請專利範圍第1 4項所述之方法,其中該處理過程 包含將(pfA(a) = pfB(b))形式之一第二述詞添加至(a = b)形式 之一第一述詞,以形成一((a = b) AND (pfA(a) = pfB(b)))形式 之複合述詞’其中pfA()為該分區函式’且pf*B()係一第二分 區表之一第二分區函式,及a係一來自該邏輯索引之第一鍵 值,且b係一來自該第二分區表之一第二邏輯索引之第二鍵 27 200903324 值,且其中該第一述詞、該第二述詞及該複合述詞係相等 性述詞或不相等述詞。 1 9.如申請專利範圍第1 4項所述之方法,其中該處理過程 包含執行一邏輯跳過掃描以回應該查詢,該查詢不包含一 引用一特定分區之項。 2 0.如申請專利範圍第1 4項所述之方法,其作為電腦可執 行指令具體實施且儲存於一電腦可讀媒體上。
TW097110560A 2007-03-02 2008-03-25 Systems and methods for modeling partitioned tables as logical indexes TW200903324A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89260707P 2007-03-02 2007-03-02
US11/735,683 US7792822B2 (en) 2007-03-02 2007-04-16 Systems and methods for modeling partitioned tables as logical indexes

Publications (1)

Publication Number Publication Date
TW200903324A true TW200903324A (en) 2009-01-16

Family

ID=39733859

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097110560A TW200903324A (en) 2007-03-02 2008-03-25 Systems and methods for modeling partitioned tables as logical indexes

Country Status (3)

Country Link
US (2) US7792822B2 (zh)
TW (1) TW200903324A (zh)
WO (1) WO2008109562A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231318A (zh) * 2020-10-14 2021-01-15 北京人大金仓信息技术股份有限公司 创建全局索引的方法和装置

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973654B1 (en) 2003-05-27 2005-12-06 Microsoft Corporation Systems and methods for the repartitioning of data
US8356014B2 (en) * 2007-06-15 2013-01-15 Oracle International Corporation Referring to partitions with for (values) clause
JP5392254B2 (ja) * 2008-05-30 2014-01-22 日本電気株式会社 データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム
US8620884B2 (en) 2008-10-24 2013-12-31 Microsoft Corporation Scalable blob storage integrated with scalable structured storage
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
US8438173B2 (en) * 2009-01-09 2013-05-07 Microsoft Corporation Indexing and querying data stores using concatenated terms
US8533181B2 (en) * 2009-04-29 2013-09-10 Oracle International Corporation Partition pruning via query rewrite
US20110082855A1 (en) * 2009-10-01 2011-04-07 Al-Omari Awny K Multi-dimensional access to data
US8266290B2 (en) 2009-10-26 2012-09-11 Microsoft Corporation Scalable queues on a scalable structured storage system
US8392463B2 (en) * 2010-04-22 2013-03-05 International Business Machines Corporation GPU enabled database systems
WO2012074529A1 (en) * 2010-12-03 2012-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for performing a nested join operation
US20120191639A1 (en) * 2011-01-26 2012-07-26 International Business Machines Corporation Statistics forecast for range partitioned tables
US9507816B2 (en) * 2011-05-24 2016-11-29 Nintendo Co., Ltd. Partitioned database model to increase the scalability of an information system
US8615503B2 (en) 2011-07-01 2013-12-24 International Business Machines Corporation Method for attaching partition online to range partitioned table
US8782100B2 (en) 2011-12-22 2014-07-15 Sap Ag Hybrid database table stored as both row and column store
KR20130096603A (ko) * 2012-02-22 2013-08-30 엘지전자 주식회사 빌딩 자동제어 시스템 및 이의 운전 방법
US9292569B2 (en) 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration
US9098177B2 (en) * 2012-12-13 2015-08-04 Google Technology Holdings LLC Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network
CN103336792B (zh) * 2013-06-07 2016-11-23 华为技术有限公司 数据分区方法和装置
US9141666B2 (en) 2013-06-28 2015-09-22 Microsoft Technology Licensing, Llc Incremental maintenance of range-partitioned statistics for query optimization
US9292554B2 (en) * 2013-08-20 2016-03-22 Pivotal Software, Inc. Thin database indexing
CN103473321A (zh) 2013-09-12 2013-12-25 华为技术有限公司 数据库管理方法与系统
US9836519B2 (en) 2013-09-20 2017-12-05 Oracle International Corporation Densely grouping dimensional data
US9990398B2 (en) * 2013-09-20 2018-06-05 Oracle International Corporation Inferring dimensional metadata from content of a query
US9740718B2 (en) 2013-09-20 2017-08-22 Oracle International Corporation Aggregating dimensional data using dense containers
US9965497B2 (en) * 2014-05-29 2018-05-08 Oracle International Corporation Moving data between partitions
WO2017052600A1 (en) * 2015-09-25 2017-03-30 Hewlett Packard Enterprise Development Lp Queries based on ranges of hash values
US10783142B2 (en) 2015-10-23 2020-09-22 Oracle International Corporation Efficient data retrieval in staged use of in-memory cursor duration temporary tables
US10678792B2 (en) 2015-10-23 2020-06-09 Oracle International Corporation Parallel execution of queries with a recursive clause
US10642831B2 (en) 2015-10-23 2020-05-05 Oracle International Corporation Static data caching for queries with a clause that requires multiple iterations to execute
US10387404B1 (en) 2015-12-15 2019-08-20 Progress Software Corporation Synthesized predicate driven index selection for partitioned table
US10678813B2 (en) * 2016-06-28 2020-06-09 International Business Machines Corporation Scaling quorum based replication systems
US10558659B2 (en) 2016-09-16 2020-02-11 Oracle International Corporation Techniques for dictionary based join and aggregation
US10324911B1 (en) * 2016-09-30 2019-06-18 Virtustream Ip Holding Company Llc Storage system with bucket contents rebalancer providing adaptive partitioning for database buckets
US11442933B2 (en) * 2017-09-21 2022-09-13 Oracle International Corporation Function semantic based partition-wise SQL execution and partition pruning
US11106670B2 (en) * 2017-09-27 2021-08-31 Sap Se Local identifiers for database objects
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US11216463B2 (en) * 2019-01-30 2022-01-04 Hewlett Packard Enterprise Development Lp Relational database system join query table scan bypass
US11163756B2 (en) 2019-04-16 2021-11-02 Snowflake Inc. Querying over external tables in database systems
US11222018B2 (en) 2019-09-09 2022-01-11 Oracle International Corporation Cache conscious techniques for generation of quasi-dense grouping codes of compressed columnar data in relational database systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5664172A (en) 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
CA2167790A1 (en) 1995-01-23 1996-07-24 Donald S. Maier Relational database system and method with high data availability during table data restructuring
US5960194A (en) 1995-09-11 1999-09-28 International Business Machines Corporation Method for generating a multi-tiered index for partitioned data
US5710915A (en) 1995-12-21 1998-01-20 Electronic Data Systems Corporation Method for accelerating access to a database clustered partitioning
US6374232B1 (en) 1996-08-29 2002-04-16 Oracle Corp. Method and mechanism for retrieving values from a database
US6625593B1 (en) 1998-06-29 2003-09-23 International Business Machines Corporation Parallel query optimization strategies for replicated and partitioned tables
US6405198B1 (en) 1998-09-04 2002-06-11 International Business Machines Corporation Complex data query support in a partitioned database system
US6546394B1 (en) 1999-12-28 2003-04-08 Oracle International Corporation Database system having logical row identifiers
US6795821B2 (en) 2001-07-17 2004-09-21 Trendium, Inc. Database systems, methods and computer program products including primary key and super key indexes for use with partitioned tables
US7047250B1 (en) 2001-09-28 2006-05-16 Oracle International Corporation Indexing to efficiently manage versioned data in a database system
US7158996B2 (en) 2003-01-27 2007-01-02 International Business Machines Corporation Method, system, and program for managing database operations with respect to a database table
US7146365B2 (en) 2003-01-27 2006-12-05 International Business Machines Corporation Method, system, and program for optimizing database query execution
US6944633B1 (en) 2003-12-10 2005-09-13 Ncr Corporation Performing a join in a partitioned database system
US8583657B2 (en) 2004-05-06 2013-11-12 Oracle International Corporation Method and apparatus for using a hash-partitioned index to access a table that is not partitioned or partitioned independently of the hash partitioned index
US7461060B2 (en) * 2005-10-04 2008-12-02 International Business Machines Corporation Generalized partition pruning in a database system
US8005836B2 (en) * 2006-01-13 2011-08-23 Teradata Us, Inc. Method and system for performing logical partial declustering
US7461050B2 (en) * 2006-03-30 2008-12-02 International Business Machines Corporation Methods of cost estimation using partially applied predicates

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231318A (zh) * 2020-10-14 2021-01-15 北京人大金仓信息技术股份有限公司 创建全局索引的方法和装置

Also Published As

Publication number Publication date
US8255387B2 (en) 2012-08-28
US7792822B2 (en) 2010-09-07
WO2008109562A1 (en) 2008-09-12
US20100274780A1 (en) 2010-10-28
US20080215544A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
TW200903324A (en) Systems and methods for modeling partitioned tables as logical indexes
US10572817B2 (en) Graph-based organization entity resolution
US9600507B2 (en) Index structure for a relational database table
US8145685B2 (en) Object relational mapping layer
CN105518676B (zh) 查询任意半结构化数据的通用的sql增强以及高效地支持这样的增强的技术
US7752192B2 (en) Method and system for indexing and serializing data
CN112256721B (zh) Sql语句解析方法、系统、计算机设备和存储介质
CN104699740B (zh) 针对文件生成内容可寻址存储签名的方法和系统
JP5944039B2 (ja) 企業のコンテンツ管理における複数のオブジェクトをレポーティングするためのシステム及び方法
CN111078205B (zh) 一种模块化编程方法、装置、存储介质及电子设备
CN110413751B (zh) 药品搜索方法、装置、终端设备以及存储介质
CN114328574A (zh) 一种数据查询方法、装置、电子设备及计算机可读存储介质
Sarma et al. Uncertainty in data integration and dataspace support platforms
Petersohn et al. Flexible rule-based decomposition and metadata independence in modin: a parallel dataframe system
US20120330988A1 (en) Systems And Methods For Performing Index Joins Using Auto Generative Queries
US9330372B2 (en) Generating an improved development infrastructure
CN113407565B (zh) 跨库数据查询方法、装置和设备
CN111984745B (zh) 数据库字段动态扩展方法、装置、设备及存储介质
CN101000621A (zh) 一种ims数据库互动式访问方法和工具
CN112328621A (zh) Sql转换方法、装置、计算机设备及计算机可读存储介质
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
US11966401B2 (en) Query tree labeling and processing
CN115390936A (zh) 统一校验方法、装置、设备和存储介质
US11423098B2 (en) Method and apparatus to generate a simplified query when searching for catalog items
JP5954742B2 (ja) 文書を検索する装置及び方法