JP2001331510A - データベースの検索方法 - Google Patents
データベースの検索方法Info
- Publication number
- JP2001331510A JP2001331510A JP2000154373A JP2000154373A JP2001331510A JP 2001331510 A JP2001331510 A JP 2001331510A JP 2000154373 A JP2000154373 A JP 2000154373A JP 2000154373 A JP2000154373 A JP 2000154373A JP 2001331510 A JP2001331510 A JP 2001331510A
- Authority
- JP
- Japan
- Prior art keywords
- index
- database
- data
- key
- search
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Abstract
(57)【要約】
【課題】無駄なインデクス検索を省略すること。
【解決手段】キーレンジ分割表に対する検索で探索条件
に範囲条件が指定された場合、範囲条件に指定された定
数値とキーレンジ分割の境界値が一致していることを調
べ、キーレンジ分割表の特定の区間に格納されているデ
ータをすべて取り出す。
に範囲条件が指定された場合、範囲条件に指定された定
数値とキーレンジ分割の境界値が一致していることを調
べ、キーレンジ分割表の特定の区間に格納されているデ
ータをすべて取り出す。
Description
【0001】
【発明の属する技術分野】本発明は、データベースの特
定のキー値によってデータを分割して格納するキーレン
ジ分割表における、データベースの検索方法に関するも
のである。
定のキー値によってデータを分割して格納するキーレン
ジ分割表における、データベースの検索方法に関するも
のである。
【0002】
【従来の技術】データベースの検索には、インデクスを
使用してデータを取り出す方法やインデクスを使用せず
に直接データを取り出す方法などがあり、データの検索
時に指定される探索条件によって、最適な方法が選択さ
れる。このデータベースの検索方法の選択には、探索条
件に指定された述語の種類によってデータベースの検索
方法を決める構文ベースの最適化や、探索条件に指定さ
れた述語から検索結果となるデータの割合(ヒット率)を
求め、そのヒット率によってデータベースの検索方法を
決めるコストベースの最適化などの方法が用いられてい
る。
使用してデータを取り出す方法やインデクスを使用せず
に直接データを取り出す方法などがあり、データの検索
時に指定される探索条件によって、最適な方法が選択さ
れる。このデータベースの検索方法の選択には、探索条
件に指定された述語の種類によってデータベースの検索
方法を決める構文ベースの最適化や、探索条件に指定さ
れた述語から検索結果となるデータの割合(ヒット率)を
求め、そのヒット率によってデータベースの検索方法を
決めるコストベースの最適化などの方法が用いられてい
る。
【0003】しかし、述語の種類やヒット率からデータ
の取り出しにインデクスを使用すると判断される場合で
も、範囲条件でキーレンジ分割表の特定の区間に格納さ
れたデータをすべて取り出す検索であれば、インデクス
を使用せずに直接データを取り出す方がよく、無駄にイ
ンデクスを検索してしまう問題があった。
の取り出しにインデクスを使用すると判断される場合で
も、範囲条件でキーレンジ分割表の特定の区間に格納さ
れたデータをすべて取り出す検索であれば、インデクス
を使用せずに直接データを取り出す方がよく、無駄にイ
ンデクスを検索してしまう問題があった。
【0004】なお、分割格納された表の検索方法に関連
するものとしては、特開平10−269225号公報等
に記載されている技術があるが、大規模なデータベース
からインデクスを使用せずに大量のデータを高速に取り
出す技術であり、インデクスの使用有無については特に
触れられていない。
するものとしては、特開平10−269225号公報等
に記載されている技術があるが、大規模なデータベース
からインデクスを使用せずに大量のデータを高速に取り
出す技術であり、インデクスの使用有無については特に
触れられていない。
【0005】
【発明が解決しようとする課題】本発明の目的は、述語
の種類やヒット率からデータの取り出しにインデクスを
使用すると判断される場合でも、範囲条件でキーレンジ
分割表の特定の区間に格納されたデータをすべて取り出
す検索であれば、検索にインデクスを使用しないことに
よって無駄なインデクス検索を省略することにある。
の種類やヒット率からデータの取り出しにインデクスを
使用すると判断される場合でも、範囲条件でキーレンジ
分割表の特定の区間に格納されたデータをすべて取り出
す検索であれば、検索にインデクスを使用しないことに
よって無駄なインデクス検索を省略することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、キーレンジ分割表に対する検索で探索条件に「分割
キー列>定数 AND 分割キー列<=定数」、「分割
キー列>定数」、及び「分割キー列<=定数」のいずれ
かの形式をした範囲条件が指定された場合、範囲条件に
指定された定数値とキーレンジ分割の境界値が一致して
いることを調べるようにして、値が一致している場合は
キーレンジ分割表の特定の区間に格納されているデータ
をすべて取り出すと判断し、データの検索にインデクス
を使用しないようにしたものである。
に、キーレンジ分割表に対する検索で探索条件に「分割
キー列>定数 AND 分割キー列<=定数」、「分割
キー列>定数」、及び「分割キー列<=定数」のいずれ
かの形式をした範囲条件が指定された場合、範囲条件に
指定された定数値とキーレンジ分割の境界値が一致して
いることを調べるようにして、値が一致している場合は
キーレンジ分割表の特定の区間に格納されているデータ
をすべて取り出すと判断し、データの検索にインデクス
を使用しないようにしたものである。
【0007】
【発明の実施の形態】本発明の一実施例を図1から図3
を用いて説明する。
を用いて説明する。
【0008】図1は、本発明を実施するデータベース管
理システムの構成図である。データベース管理システム
1には、データベースへの処理要求が記述されたSQL
文を解析、実行するSQL処理部11、データベースに
格納されている表やインデクスに関する定義情報を管理
するディクショナリ管理部12、及びデータベースをア
クセスするデータ管理部13を有する。また、ディクシ
ョナリ2には、表やインデクスに関する定義情報が、デ
ータベース3には、表やインデクスのデータがそれぞれ
格納される。
理システムの構成図である。データベース管理システム
1には、データベースへの処理要求が記述されたSQL
文を解析、実行するSQL処理部11、データベースに
格納されている表やインデクスに関する定義情報を管理
するディクショナリ管理部12、及びデータベースをア
クセスするデータ管理部13を有する。また、ディクシ
ョナリ2には、表やインデクスに関する定義情報が、デ
ータベース3には、表やインデクスのデータがそれぞれ
格納される。
【0009】図2は、ディクショナリ2に格納されてい
る定義情報を表している。ディクショナリ2には、表の
定義情報を保持する表定義情報管理表21とインデクス
の定義情報を保持するインデクス定義情報管理表22が
存在する。例えば、表定義情報管理表21に格納されて
いるTBのデータは、表TBが列CLの値Xによってデ
ータの格納先がA1からANに分割して格納されるキー
レンジ分割表であることを示し、インデクス定義情報管
理表22に格納されているIXのデータは、インデクス
IXが表TBの列CLに対して定義されていること示し
ている。
る定義情報を表している。ディクショナリ2には、表の
定義情報を保持する表定義情報管理表21とインデクス
の定義情報を保持するインデクス定義情報管理表22が
存在する。例えば、表定義情報管理表21に格納されて
いるTBのデータは、表TBが列CLの値Xによってデ
ータの格納先がA1からANに分割して格納されるキー
レンジ分割表であることを示し、インデクス定義情報管
理表22に格納されているIXのデータは、インデクス
IXが表TBの列CLに対して定義されていること示し
ている。
【0010】図1のSQL処理部11では、SQL文を
受け付けるとSQL文を解析し、データベースへの最適
な検索方法を選択する。そして、その検索方法に従い目
的とするデータを得る。
受け付けるとSQL文を解析し、データベースへの最適
な検索方法を選択する。そして、その検索方法に従い目
的とするデータを得る。
【0011】図3は、データベースへの最適な検索方法
を選択する最適化処理の流れ図である。検索方法選択処
理41では、構文ベース最適化やコストベース最適化な
どの方法を用いて検索方法を決める。検索方法選択処理
41で選択された検索方法を調べ(42)、インデクス
を使用する検索方法が選択されている場合には、表定義
情報管理表21によって検索する表がキーレンジ分割表
であることを調べる(43)。キーレンジ分割表の場
合、分割キー列と選択されたインデクスの構成列が等し
いことを表定義情報管理表21とインデクス定義管理表
22によって調べる(44)。分割キー列と選択された
インデクス構成列が等しい場合、SQL文の探索条件が
「分割キー列>Y1 AND 分割キー列<=Y2」、
「分割キー列>Y1」、及び「分割キー列<=Y2」の
いずれかの形式をした範囲条件であることを調べる(4
5)。前記範囲条件の場合、範囲条件の開始値Y1と終
了値Y2がそれぞれキーレンジ分割の境界値と等しいこ
とを調べる(46)。範囲条件に指定された値とキーレ
ンジ分割の境界値が等しい場合、範囲条件が示す区間に
格納されたデータをすべて取り出すことが判るため、イ
ンデクスを使用しない検索方法に変更する(47)。
を選択する最適化処理の流れ図である。検索方法選択処
理41では、構文ベース最適化やコストベース最適化な
どの方法を用いて検索方法を決める。検索方法選択処理
41で選択された検索方法を調べ(42)、インデクス
を使用する検索方法が選択されている場合には、表定義
情報管理表21によって検索する表がキーレンジ分割表
であることを調べる(43)。キーレンジ分割表の場
合、分割キー列と選択されたインデクスの構成列が等し
いことを表定義情報管理表21とインデクス定義管理表
22によって調べる(44)。分割キー列と選択された
インデクス構成列が等しい場合、SQL文の探索条件が
「分割キー列>Y1 AND 分割キー列<=Y2」、
「分割キー列>Y1」、及び「分割キー列<=Y2」の
いずれかの形式をした範囲条件であることを調べる(4
5)。前記範囲条件の場合、範囲条件の開始値Y1と終
了値Y2がそれぞれキーレンジ分割の境界値と等しいこ
とを調べる(46)。範囲条件に指定された値とキーレ
ンジ分割の境界値が等しい場合、範囲条件が示す区間に
格納されたデータをすべて取り出すことが判るため、イ
ンデクスを使用しない検索方法に変更する(47)。
【0012】本発明によれば、範囲条件でキーレンジ分
割表の特定の区間に格納されているデータをすべて取り
出す場合、インデクスを使用しない検索方法にすること
により、無駄なインデクス検索を省略できるという効果
がある。従って、従来インデクス部のI/O回数が、範
囲条件による検索行数/(インデクスの格納ページ長/
インデクスのキー長)回、データ部のI/O回数が範囲
条件による検索行数回であったものが、本発明によれ
ば、インデクス部のI/O回数が0回、データ部のI/
O回数が、範囲条件による検索行数/(行の格納ページ
長/行長)回に削減できる。
割表の特定の区間に格納されているデータをすべて取り
出す場合、インデクスを使用しない検索方法にすること
により、無駄なインデクス検索を省略できるという効果
がある。従って、従来インデクス部のI/O回数が、範
囲条件による検索行数/(インデクスの格納ページ長/
インデクスのキー長)回、データ部のI/O回数が範囲
条件による検索行数回であったものが、本発明によれ
ば、インデクス部のI/O回数が0回、データ部のI/
O回数が、範囲条件による検索行数/(行の格納ページ
長/行長)回に削減できる。
【0013】
【発明の効果】本発明によれば、データ検索時無駄なイ
ンデックス検索が省略できる。
ンデックス検索が省略できる。
【図1】本発明の一実施例を説明するデータベース管理
システムの構成図である。
システムの構成図である。
【図2】ディクショナリで管理する定義情報の図であ
る。
る。
【図3】データベースへの最適な検索方法を選択する最
適化処理の流れ図である。
適化処理の流れ図である。
1…データベース管理システム、11…SQL処理部、
12…ディクショナリ管理部、13…データ管理部、2
ディクショナリ、3…データベース、21…表定義情報
管理表、22…インデクス定義情報管理表。
12…ディクショナリ管理部、13…データ管理部、2
ディクショナリ、3…データベース、21…表定義情報
管理表、22…インデクス定義情報管理表。
Claims (1)
- 【請求項1】 データベースの特定のキー値によってデ
ータを分割して格納するキーレンジ分割表において、キ
ーレンジ分割の情報をデータベース検索時のインデクス
使用有無決定に利用したことを特徴とするデータベース
の検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000154373A JP2001331510A (ja) | 2000-05-22 | 2000-05-22 | データベースの検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000154373A JP2001331510A (ja) | 2000-05-22 | 2000-05-22 | データベースの検索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001331510A true JP2001331510A (ja) | 2001-11-30 |
Family
ID=18659477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000154373A Pending JP2001331510A (ja) | 2000-05-22 | 2000-05-22 | データベースの検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001331510A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260129A (ja) * | 2005-03-17 | 2006-09-28 | Dainippon Printing Co Ltd | データベースシステム、データベース検索サーバ、プログラム、及び記録媒体 |
JP2009093349A (ja) * | 2007-10-05 | 2009-04-30 | Nec Corp | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム |
-
2000
- 2000-05-22 JP JP2000154373A patent/JP2001331510A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260129A (ja) * | 2005-03-17 | 2006-09-28 | Dainippon Printing Co Ltd | データベースシステム、データベース検索サーバ、プログラム、及び記録媒体 |
JP4611778B2 (ja) * | 2005-03-17 | 2011-01-12 | 大日本印刷株式会社 | データベースシステム、データベース検索サーバ、プログラム、及び記録媒体 |
JP2009093349A (ja) * | 2007-10-05 | 2009-04-30 | Nec Corp | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム |
US8452788B2 (en) | 2007-10-05 | 2013-05-28 | Nec Corporation | Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9646108B2 (en) | Systems and methods for performing geo-search and retrieval of electronic documents using a big index | |
US7158996B2 (en) | Method, system, and program for managing database operations with respect to a database table | |
US9424294B2 (en) | Method for facet searching and search suggestions | |
US8266152B2 (en) | Hashed indexing | |
US7240064B2 (en) | Search engine with hierarchically stored indices | |
US7783660B2 (en) | System and method for enhanced text matching | |
US7685104B2 (en) | Dynamic bitmap processing, identification and reusability | |
US6122644A (en) | System for halloween protection in a database system | |
US20070226176A1 (en) | Apparatus and method for optimizing a query to a partitioned database table using a virtual maintained temporary index that spans multiple database partitions | |
US20200201832A1 (en) | Real Time Indexing | |
JP2008198237A (ja) | 構造化文書管理システム | |
US20120303608A1 (en) | Method and system for caching lexical mappings for rdf data | |
US20040167874A1 (en) | Supporting Bindexes on primary Bstructures with large primary keys | |
Khan et al. | Progressive diversification for column-based data exploration platforms | |
JP2010072823A (ja) | データベース管理システムおよびプログラム | |
JP2001331510A (ja) | データベースの検索方法 | |
JP4091586B2 (ja) | 構造化文書管理システム、索引構築方法及びプログラム | |
JPH0773187A (ja) | 検索システム | |
KR20200059502A (ko) | 분산형 데이터베이스상의 인덱스 병합을 활용한 질의 최적화 방법 | |
US11853326B2 (en) | Data warehouse indexed string token search | |
JP4160627B2 (ja) | 構造化文書管理システム及びプログラム | |
US9015187B1 (en) | Mapping table rows to characters | |
JP2008198235A (ja) | 構造化文書管理システム | |
JPH05313971A (ja) | リレーショナル・データベースにおけるキーワード管理方式 | |
JP3508842B2 (ja) | データベース検索システムおよびデータベース検索プログラムを記録した記録媒体 |