DE68927413T2 - Verfahren und Vorrichtung zur Datenbankverarbeitung - Google Patents
Verfahren und Vorrichtung zur DatenbankverarbeitungInfo
- Publication number
- DE68927413T2 DE68927413T2 DE68927413T DE68927413T DE68927413T2 DE 68927413 T2 DE68927413 T2 DE 68927413T2 DE 68927413 T DE68927413 T DE 68927413T DE 68927413 T DE68927413 T DE 68927413T DE 68927413 T2 DE68927413 T2 DE 68927413T2
- Authority
- DE
- Germany
- Prior art keywords
- query
- column
- execution
- internal processing
- database
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000012545 processing Methods 0.000 title claims description 43
- 238000003672 processing method Methods 0.000 claims description 65
- 238000007781 pre-processing Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 description 71
- 238000005457 optimization Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Verarbeitung einer Datenbank, die für eine Anfrageverarbeitung bei einem relationalen Datenbank-Verwaltungssystem geeignet sind.
- Bei einem Datenbank-Verwaltungssystem (DBMS), insbesondere einen relationalen DBMS, wird eine in einer nicht verfahrensorientierten Sprache ausgedrückte Anfrage verarbeitet, und es wird ein internes Verarbeitungsverfahren bestimmt und ausgeführt. Wesentliche Verfahren zur Anfrageverarbeitung aus dem Stand der Technik umfassen ein Verfahren zur Bestimmung eines einzelnen internen Verarbeitungsverfahrens auf der Grundlage einer vorgegebenen Vorschrift, das beispielsweise von J. M. Smith u. a. in "Optimizing the Performance of a Relational Database Interface", CACM, Band 18, Nr. 10, Oktober 1975, 5. 568 - 5791 beschrieben wurde, sowie ein Verfahren zur durch eine Kostenberechnung stattfindenden Bestimmung eines optimalen von mehreren Verarbeitungsverfahrenskandidaten, die in Übereinstimmung mit verschiedenen statistischen Informationen ausgewählt wurden, das beispielsweise von P. G. Selinger u. a. in "Access Path Selection in Relational Database Management System" Proc. ACM-SIGMOD, 1979, 5. 23 - 34, beschrieben wurde. Beim ersteren ist die Belastung bei der Vorbereitung des Verarbeitungsverfahrens gering, aber es treten dabei Probleme hinsichtlich der Gültigkeit einer gleichmäßig festgelegten Vorschrift und einer Optimierung eines ausgewählten internen Verarbeitungsverfahrens auf. Beim letzteren, das das Merkmal des ersten Teils des Anspruchs 1 aufweist, ist eine Belastung zur Verwaltung verschiedener statistischer Informationen, zur Vorbe reitung des Verfahrens, um mehrerer Kandidaten und deren Kosteneinschätzung zu verarbeiten, vorgesehen; es liefert jedoch ein optimales Verarbeitungsverfahren.
- Wenn eine Anfragesprache mit einer Leitrechnersprache (COBOL, PL/I usw.) kombiniert wird, wird die Anfrage vor der Ausführung eines Anwendungsprogramms vorverarbeitet, um ein internes Verarbeitungsverfahren vorzubereiten, das sich in einer Ausführungsform befindet. Bei einem Anfrageausdruck sind Variablen in der Leitrechnersprache häufig in einem Suchbedingungsausdruck beschrieben. Diese Variablen werden durch Konstanten ersetzt, wenn das interne Verarbeitungsverfahren, das sich aus der Vorverarbeitung ergibt, ausgeführt wird.
- Die Datenbank weist eine Relation auf, die einem Benutzer als eine zweidimensionale Tabelle erscheint, sowie Tupel, die den Reihen der Tabelle entsprechen. Die Tupel enthalten ein oder mehrere Attribute (Spalten).
- Im Verfahren aus dem Stand der Technik zur Bestimmung eines optimalen Verarbeitungsverfahrens durch die Kostenberechnung auf der Grundlage eines Verhältnisses der Daten, die die Suchbedingung erfüllen, die in der Anfrage auftritt, treten die Variablen während der Vorverarbeitung im Suchbedingungsausdruck des Anfrageausdrucks auf. Es ist dementsprechend nicht möglich, den Anteil der Daten abzuschätzen, die den Suchbedingungsausdruck erfüllen, und die Kostenberechnung kann nicht erreicht werden. Daher wird die Kostenberechnung dann, wenn die Variablen im Suchbedingungsausdruck des Anfrageausdrucks auftreten, auf der Grundlage eines Vorgabewerts durchgeführt, der als Anteil der Daten verwendet wird, die den Bedingungsausdruck, abhängig vom Typ des Suchbedingungsausdrucks, erfüllen, oder es wird ein einzelnes internes Verarbeitungsverfahren auf der Grundlage einer vorgegebenen Vorschrift vorbereitet. Das sich ergebende interne Verarbeitungsverfahren weist jedoch kein klares Entscheidungskriterium für die Optimierung auf, und es mangelt ihm an Gültigkeit.
- Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und eine Vorrichtung zur Verarbeitung einer Datenbank vorzusehen, indem ein optimales internes Verarbeitungsverfahren zu einem oder mehreren Ausführungsmodulen entwickelt wird und wobei das genannte Verfahren ausgewählt und ausgeführt wird, wenn eine Anfrage ausgeführt wird, so daß die Leistungsfähigkeit der Anfrageverarbeitung verbessert wird.
- Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 6 gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen offenbart.
- Die vorliegende Erfindung umfaßt die Schritte des Vorbereitens eines internen Verarbeitungsverfahrens in einer Vorverarbeitungsoperation, das selbst, wenn die Variablen in einem Eingabe-Suchbedingungsausdruck des Anfrageausdrucks beschrieben sind, durch einen in der Ausführungsoperation ersetzten Wert auf Gültigkeit geprüft wird, des Aufrechterhaltens einer Spaltenwert-Frequenz-Information, die eine Spalte betrifft, die im Suchbedingungsausdruck des Anfrageausdrucks auftritt, des Auswählens eines Optimums von einem oder mehreren internen Verarbeitungsverfahren auf der Grundlage der Spaltenwert-Frequenz-Information und des Ausführens des ausgewählten internen Verarbeitungsverfahrens, das zu einem Ausführungsmodul entwickelt worden ist.
- Das interne Verarbeitungsverfahren ist, das abhängig vom Wert, der während der Ausführung ersetzt worden ist, im Vorverarbeitungsschritt der vorliegenden Erfindung zum Ausführungsmodul entwickelt worden. Dementsprechend ist die Verarbeitungsbelastung im Vergleich zur optimalen Verarbeitung der Anfrage in der Ausführungsoperation verringert, wenngleich sich eine erforderliche Speicherkapazität erhöht. Da die für einen jeden Suchbedingungsausdruck vorab festgelegte Spaltenwert-Frequenz-Information ausgewählt wird, um das Optimum von mehreren internen Verarbeitungsverfahren in der Ausführungsstufe auszuwählen, wird eine Ein-/Ausgabe-Verarbeitungsbelastung im Vergleich zu einem Verfahren verringert, das sich auf eine Datenstruktur, wie einen Index, bezieht. Falls auf der Grundlage des Suchbedingungsausdrucks und der Spaltenwert-Frequenz-Information bestimmt wird, daß die Entwicklung mehrerer interner Verarbeitungsverfahren nicht notwendigerweise von der eingegebenen Anfrage abhängt, wird nur ein internes Verarbeitungsverfahren in der Vorverarbeitungsstufe vorbereitet.
- In Fig. 1 ist eine Funktionsansicht der Verarbeitung eines DBMS dargestellt, worauf die vorliegende Erfindung angewendet ist,
- in Fig. 2 ist eine Ausführungsform einer Hardware-Konfiguration dargestellt, auf die die vorliegende Erfindung angewendet ist,
- in Fig. 3 ist eine Berechnung eines durch das DBMS bereitgestellten Zugriffswegs dargestellt, und in den Figuren 4A bis 4I sind Flußdiagramme des Verarbeitens im DBMS dargestellt, worauf die vorliegende Erfindung angewendet ist.
- Die bevorzugten Ausführungsformen der vorliegenden Erfindung werden nun, Bezug nehmend auf die begleitende Zeichnung, detailliert erklärt.
- In Fig. 1 ist ein Beispiel einer Verarbeitungsfunktion eines DBMS, worauf die vorliegende Erfindung angewendet ist, dargestellt. Ein Befehl 20 aus Fig. 1 enthält einen Suchbedingungsausdruck mit zwei Auswahlbedingungen "C2 = Variable 1" und "C3 = Variable 2", die durch ein logisches UND gekoppelt sind. Die Auswahlbedingungen "Variablenname 1" und "Variablenname 2" weisen darauf hin, daß Werte in der Ausführungsstufe ersetzt werden. Der Befehl 20 wird auf ein DBMS 10 angewendet, um die Anfrageverarbeitung zu beginnen.
- Um die Befehlsverarbeitung zum Ersetzen der Werte in der Aus führungsstufe zu erreichen, enthält das DBMS 10 einen Vorverarbeitungsschritt 11, der vor der Anfrageausführung ausgeführt wird, sowie einen Ausführungsschritt 12, der die Anfrageausführung steuert. Der Vorverarbeitungsschritt 11 umfaßt einen Anfrageanalyseschritt 110 zur Durchführung einer Syntax- und einer Semantikanalyse eines eingegebenen Befehls, einen Schritt 111 des Abschätzens der Selektivität einer Aussage, um einen Anteil von Daten abzuschätzen (eine Aussageselektivität oder einfach eine Selektivität), der die Bedingung auf der Grundlage verschiedener Bedingungsausdrücke, die durch den Befehl auftreten, erfüllt, einen Schritt 112 des Abspaltens des Zugriffswegs, um einen gültigen Zugriffswegkandidaten auf der Grundlage von Informationen über eine Datenbankcharakteristik (Datengrößen in der Datenbank, gegenständlicher Aufbau der Datenbank, Typ und Anwesenheit/Abwesenheit eines Index usw.) und eine Systemcharakteristik (Zwischenspeichergröße, CPU-Leistungsfähigkeit usw.) in Übereinstimmung mit einer vorgegebenen Vorschrift abzuspalten, einen Schritt 113 des Erzeugens eines Datenzugriffs-Verarbeitungsverfahrens zur Durchführung einer Kostenberechnung, die die Anzahl der Ein-/Ausgabezyklen und der CPU-Benutzungszeit zur Vorbereitung eines Kandidaten für das interne Verarbeitungsverfahren enthält, sowie einen Schritt 114 des Festlegens eines Kandidaten für ein optimales Zugriffsverfahren, um den im vorhergehenden Schritt ausgewählten Kandidaten in ein Ausführungsmodul zu entwickeln und eine Datenstruktur vorzubereiten, um einen Mechanismus zum Auswählen des Kandidaten auf der Grundlage eines in der Ausführungsstufe ersetzten Werts zu erreichen. Der Anfrageausführungsschritt 12 umfaßt einen Schritt 120 des Auswählens eines optimalen internen Verarbeitungsverfahrens, das auf der Grundlage der in Schritt 114 vorbereiteten Datenstruktur auszuführen ist, sowie einen Decodierungs- und Ausführungsschritt 121 zum Decodieren und Ausführen des im vorhergehenden Schritt ausgewählten internen Verarbeitungsverfahrens.
- Die Datenbank 80 enthält eine Tabelle 81 und eine Tabelle 82 zur Verwaltung statistischer Informationen. Die Tabelle 82 zur Verwaltung statistischer Informationen enthält Spaltenwert-Frequenz-Informationen, die die Tabellen der Datenbank 80 bilden. Eine Bezugszahl 30 bezeichnet ein Ergebnis einer Berechnung der Selektivität der Bedingungsausdrücke, die im Befehl 20 auftreten. In einer Zugriffsweg-Kandidatenliste 40 ist der im Schritt 112 des Abspaltens des Zugriffswegs ausgewählte Zugriffsweg registriert. Eine Bezugszahl 50 bezeichnet ein Erzeugnisverarbeitungsverfahren (51, 52, 53, 54). Eine Zwischensprachen-Baumstruktur 60 umfaßt eine Ausführungsoptimierungseinheit 61, eine Zwischensprachen-Baumeinheit 62 und Spaltenwert-Frequenz-Informationen 63. Die Ausführungsoptimierungseinheit 61 ist eine Datenstruktur, die auf der Grundlage der aus den Spaltenwert-Frequenz-Informationen 63 berechneten Selektivität, abhängig vom in der Ausführungsstufe ersetzten Wert, einen Mechanismus erreicht, um ein in der Zwischensprachen-Baumeinheit 62 gespeichertes internes Verarbeitungsverfahren auszuwählen. Ein Zwischensprachenbaum- Ausführungsabschnitt 70 ist ein Bereich, in dem das im Ausführungsoptimierungsschritt 120 ausgewählte interne Verarbeitungsverfahren gespeichert ist.
- Es wird nun ein Beispiel der Verarbeitung des Befehls erklärt. Es wird angenommen, daß eine die Spalte, die im Bedingungsausdruck des Befehls auftritt, betreffende Spaltenwert-Frequenz in der Tabelle 82 zur Verwaltung statistischer Informationen gespeichert ist. Beispielsweise ist bei 820 dargestellt, daß es 1000 Werte "100" der Spalte C2 gibt, und ist bei 821 dargestellt, daß es insgesamt 1000 Werte "10" und "20" (zwei Frequenzen) der Spalte C3 gibt. Der Befehl 20 wird auf das DBMS angewendet, und der Vorverarbeitungsschritt 11 wird ausgeführt. Im vorliegenden Beispiel treten sowohl in der Spalte C2 als auch in der Spalte C3 Indizes auf. Nach der Syntax- und Semantikanalyse im Anfrageanalyseschritt 110 wird die Selektivität des im Befehl auftretenden Bedingungsausdrucks im Schritt 111 des Abschätzens der Selektivität einer Aussage berechnet. Falls eine Konstante in jedem Bedingungs ausdruck auftritt, kann die Selektivität bestimmt werden. Im Befehl 20 tritt keine Konstante in einem der Selektionsbedingungsausdrücke auf, die durch 30 bezeichnet sind, und die Selektivität kann nicht bestimmt werden. Daraufhin wird ein beim Ausführen des eingegebenen Befehls zu verwendender Zugriffsweg im Schritt 112 des Abspaltens des Zugriffswegs ausgewählt. Normalerweise wird der in Schritt 111 berechnete Index der Spalte mit der kleinsten Selektivität bevorzugt ausgewählt. Da die Selektivität der Bedingungsausdrücke im vorliegenden Beispiel bei 30 nicht bestimmt wird, werden drei Zugriffswege registriert, wie bei einem Zugriffswegkandidaten dargestellt ist. Im Schritt 113 des Erzeugens einer Datenzugriffsverarbeitung wird das interne Verarbeitungsverfahren auf der Grundlage der Zugriffsweg-Kandidatenliste 40 erzeugt. Das interne Verarbeitungsverfahren enthält einen "Relationszugriff" 51, einen ¹C2-Spaltenindex" 52, einen "C3- Spaltenindex" 53 und einen "C2- und C3-Spaltenindex" 54. Beim Vorgang 114 des Festlegens des optimalen Zugriffsverfahrenskandidaten wird die Zwischensprachen-Baumstruktur 60 vorbereitet. Eine vorgegebene Vorschrift wird auf mehrere interne Verarbeitungsverfahren 50 angewendet. Falls der Index sowohl in der Spalte C2 als auch in der Spalte C3 vorhanden ist, kann lediglich das interne Verarbeitungsverfahren des "Relationszugriffs" 51 und des "C2- und C3-Spaltenindex" 54 in der Ausführungsstufe ausgewählt werden. Auf diese Weise werden ein Entscheidungskriterium auf der Grundlage des in der Ausführungsstufe ersetzten Werts (ob die Selektivität, die die beiden Auswahlbedingungsausdrücke erfüllt, nicht kleiner als 0,01 ist) und das in Übereinstimmung mit dem Kriterium auszuwählende interne Verarbeitungsverfahren in die Ausführungsoptimierungseinheit 61 überführt. Ein oder mehrere interne Verarbeitungsverfahren im Ausführungsmodul werden zum Zwischensprachenbaum 62 überführt. Um die in der Ausführungsstufe zu bestimmende Selektivität genau abzuschätzen, wird die Frequenzinformation für alle Spaltenwerte oder die Frequenzinformation für einige Spaltenwerte, abhängig vom Typ der im Befehl auftretenden Bedingungstabelle, aus der Tabelle 82 zur Verwaltung statistischer Informationen gewonnen und wird zur Spaltenwert-Frequenz-Information 63 überführt. Nun wird der Anfrageausführungsschritt 12 erklärt. Wenn C2 = 100 und C3 = 10 ersetzt werden, wird der Ausführungsoptimierungsschritt 120 ausgeführt. In der Spalte C2 tritt der Wert "100" entsprechend der Spaltenwert-Frequenz-Information 63 1000mal auf. Die Selektivität für die Selektionsbedingung "C2 = 100" beträgt demnach 1000/10000 (Anzahl des Auftretens/Anzahl der Aufzeichnungen) = 0,1. In ähnlicher Weise tritt der Wert "10" in der Spalte C3 entsprechend der Spaltenwert-Frequenz-Infornation 63 1000/2 = 500mal auf. Die Selektivität für die Auswahlbedingung "C3 = 10" beträgt auf diese Weise 500/10000 = 0,05. Auf diese Weise beträgt die Selektivität für die gleichzeitige Erfüllung durch die beiden Auswahlbedingungsausdrücke also "C2 = 100 UND C3 = 10" 0,1 x 0,05 = 0,005, was kleiner ist als 0,01. Folglich wird das interne Verarbeitungsverfahren im Ausführungsmodul, das dem "C2- und C3-Spaltenindex" 54 entspricht, ausgewählt. Im Decodierungs- und Ausführungsschritt 121 wird das im vorhergehenden Schritt ausgewählte interne Verarbeitungsverfahren im Ausführungsmodul zum Zwischensprachen-Baumausführungsabschnitt 70 überführt, wo es decodiert und ausgeführt wird.
- In Fig. 2 ist eine Ausführungsform einer Hardwarekonfiguration dargestellt, auf die die vorliegende Erfindung angewendet wird. Sie umfaßt eine Zentralverarbeitungseinheit (CPU) 100 mit einem Hauptspeicher (MM) 1000, einer Kanaleinheit (CHU) 101 für die Eingabe-/Ausgabesteuerung, eine intelligente Dateisteuereinheit (IFC) 102 mit einem lokalen Speicher (LM) 1020 zum Speichern von Daten, die bei der Datenbankverarbeitung auszuwählen, einzuschränken, zu projizieren oder zu koppeln sind, sowie einem Plattenspeicher (DK) 103.
- Eine relative Blockadresse und Eingabe/Ausgabedaten werden zwischen der intelligenten Dateisteuerungseinheit 102 und dem Plattenspeicher 103 über einen Weg 107 übertragen. Die Ergebnisse der Filter- und der Suchbedingung werden über Wege 105 und 106 zwischen der Kanaleinheit 101 und der intelligenten Dateisteuereinheit 102 übertragen. Zwischen der Zentralverarbeitungseinheit 100 und der Kanaleinheit 101 werden über einen Weg 104 Daten übertragen und Steuerdaten ausgetauscht. Mehrere Kanaleinheiten 101 und intelligente Dateisteuereinheiten 102 können mit den Wegen 104 bzw. 106 verbunden werden. Der Weg 105 kann verwendet werden, um die intelligente Dateisteuereinheit 102 mit einem anderen System zu teilen.
- Im vorliegenden System werden nicht alle Datenbankverarbeitungen durch das DBMS 10 durchgeführt, das auf der Zentralverarbeitungseinheit 100 liegt. Von der Verarbeitung der Datenbank werden relationale algebraische Operationen, die dem in Schritt 113 des Erzeugens eines Datenzugriffs-Verarbeitungsverfahrens des DBMS 10 erzeugten internen Verarbeitungsverfahren entsprechen, d. h. Auswahl-, Einschränkungs-, Proj ektions- und Kopplungsoperationen funktionsmäßig durch die intelligente Datensteuereinheit geteilt. Dies entspricht der Hinzufügung verschiedener Betriebsfunktionen (beispielsweise einer Filtereinheit) zur Eingabe- /Ausgabeeinheit. Eine grundlegende Operation wird nachfolgend beschrieben.
- 25 (1) Die durch das Anwendungsprogramm eingegebene Anfrage wird durch das DBMS 10 analysiert, um das Verarbeitungsverfahren zu bestimmen.
- (2) Die relationalen algebraischen Operationen werden in Übereinstimmung mit dem vorhergehenden Verarbeitungsverfahren gewonnen, und eine Ausführungsanforderung wird zur intelligenten Dateisteuereinheit 102 ausgegeben.
- (3) Die intelligente Dateisteuereinheit 102 decodiert die Ausführungsanforderung und gibt eine reale Eingabe/Ausgabeanforderung an den Plattenspeicher 103 aus. Die Datenbank 80 speichert Daten in einer relationalen Form, und eine Seite, die eine Verwaltungseinheit der Datenbank ist, wird synchron mit der Datenübertragung des Plattenspeichers 103 gelesen und zu einem lokalen Speicher 1020 überführt.
- (4) Die Auswahl-, Einschränkungs-, Projektions- oder Kopplungsoperation wird zur Filterung der Daten des lokalen Speichers 1020 ausgeführt.
- (5) Das Ergebnis der Verarbeitung wird in den Hauptspeicher 1000 der CPU 80 überführt.
- (6) Das DBMS 10 bearbeitet das Ergebnis der Verarbeitung und liefert dem Anwendungsprogramm das Anfrageergebnis.
- Die folgenden Punkte (1) - (5) sind Beispiele von Befehlsausdrücken, bei denen die Variablen in Übereinstimmung mit der vorliegenden Erfindung auftreten. Die Variablen in den Befehlen werden in der Anfrageausführungsstufe durch die Konstanten ersetzt. Insbesondere treten sie im Auswahlbedin gungsausdruck, im Komplexe-Bedingung-Ausdruck, im IN-Bedingungsausdruck, im ZWISCHEN-Bedingungsausdruck und im ENTSPRE- CHEND-Bedingungsausdruck auf.
- (1) Auswahl-Bedingungsausdruck (=, ≠, > , < , ≤)
- WÄHLE C1 AUS T AUS, WENN WO C2 = Variablenname 1 ist
- (2) Komplexe-Bedingung-Ausdruck (UND/ODER)
- WAHLE C1 AUS T AUS, WO C2 = Variablenname 1 ist UND C3 = Variablenname 2 ist
- (3) IN-Bedingungsausdruck
- WAHLE C1 AUS T AUS, WO C2 IN (Variablenname 1, Variablenname 2) ist
- (4) ZWISCHEN-Bedingungs ausdruck WAHLE C1 AUS T AUS,
- WO C2 ZWISCHEN (Variablenname 1, Variablenname 2) ist
- (5) ENTSPRECHEND-Bedingungsausdruck
- WAHLE C1 AUS T AUS, WO C2 ENTSPRECHEND Variablenname 1 ist
- In Fig. 3 ist ein Ergebnis dargestellt, wenn die folgenden Punkte im durch das DBMS in der Systemkonfiguration aus Fig. 2 bereitgestellten Zugriffsweg festgelegt sind und die CPU-Leistungsfähigkeit als Systemcharakteristik geändert wird.
- (1) Verwendung eines sich nicht häufenden Index (Softwareverfahren)
- (2) Verwendung eines Relations-Abfragens (Softwareverfahren)
- (3) Verwendung eines Relations-Abfragens (Hardwareverfahren)
- Eine x-Achse stellt eine Selektivität dar, und eine y-Achse stellt ein Zeitverhältnis dar. Ein Symbol o weist darauf hin, daß die CPU-Leistungsfähigkeit 10 MIPS beträgt, und ein Symbol A weist darauf hin, daß die CPU- Leistungsfähigkeit 1 MIPS beträgt. Kurven 1081 1 und 1082 2 bezeichnen die Verwendung eines sich nicht häufenden Index (Softwareverfahren), Kurven 1083 3 und 1084 4 bezeichnen die Verwendung eines Relations-Abfragens (Softwareverfahren), und Kurven 1085 5 und 1086 6 bezeichnen die Verwendung eines Relations-Abfragens (Hardwareverfahren).
- Hieraus wird das folgende geschlossen.
- (1) Wenn die DB-Maschine vorhanden ist und die CPU- Leistungsfähigkeit 1 MIPS beträgt, ist das Relations-Abfragen unter Verwendung der DB-Maschine wirksam, falls die Selektivität am Kreuzungspunkt der Kurven 1081 1 und 1082 2 0,5 % nicht unterschreitet.
- (2) Wenn die DB-Maschine vorhanden ist und die CPU- Leistungsfähigkeit 10 MIPS beträgt, ist das Relations-Abfragen unter Verwendung der DB-Maschine wirksam, falls die Selektivität am Kreuzungspunkt der Kurven 1082 2 und 1086 6 0,9 % nicht unterschreitet.
- (3) Wenn die DB-Maschine nicht vorhanden ist und die CPU-Leistungsfähigkeit 1 MIPS beträgt, ist das Relations- Abfragen unter Verwendung des Softwareverfahrens wirksam, falls die Selektivität am Kreuzungspunkt der Kurven 1081 1 und 1083 3 6 % nicht unterschreitet.
- (4) Wenn die DB-Maschine nicht vorhanden ist und die CPU-Leistungsfähigkeit 10 MIPS beträgt, ist das Relations- Abfragen unter Verwendung des Softwareverfahrens wirksam, falls die Selektivität am Kreuzungspunkt der Kurven 1082 2 und 1084 4 2 % nicht unterschreitet.
- Es ist hieraus ersichtlich, daß sich die wirksamen Bereiche der Zugriffswege, abhängig von der Anwesenheit oder Abwesenheit der DB-Maschine und der CPU-Leistungsfähigkeit, ändern. Wenn die Systemcharakteristik und die Datenbankcharakteristik gegeben sind, kann eine Kostenberechnungsformel zum eindeutigen Bestimmen einer Verarbeitungszeit bestimmt werden. Auf diese Weise können die Anwendungsbereiche der Zugriffswege analytisch dargestellt werden. Dementsprechend kann das Kriterium des Befreiens des Zugriffswegs unter Berücksichtigung dieser Faktoren, wie nachfolgend dargestellt, festgelegt werden.
- DANN Verwendung eines sich nicht häufenden Index ANDERNFALLS Verwendung eines Relations-Abfragens (Hardwareverfahren)
- DANN Verwendung eines sich nicht häufenden Index ANDERNFALLS Verwendung eines Relations-Abfragens (Hardwareverfahren)
- DANN Verwendung eines sich nicht häufenden Index ANDERNFALLS Verwendung eines Relations-Abfragens (Softwareverfahren)
- DANN Verwendung eines sich nicht häufenden Index ANDERNFALLS Verwendung eines Relations-Abfragens (Softwareverfahren)
- Die Bezeichnungsweise wird nachfolgend erklärt. In vielen Fällen enthält die Anfrage einen Komplexe-Bedingung-Ausdruck mit mehreren Einheitsbedingungsausdrücken, die durch UND/ODER gekoppelt sind. Es wird angenommen, daß der Komplexe-Bedingung-Ausdruck entweder eine konjunktive Normalform (CNF) oder eine disjunktive Normalform (DNF) ist. Es wird die folgende Bezeichnungsweise verwendet.
- Pi ..... Einheitsbedingungsausdruck (Auswahlbedingungsausdruck, IN-/ZWISCHEN-/ENTSPRECHEND-Bedingungsausdruck
- ^ ..... logisches UND
- v ..... logisches ODER
- Π ..... direktes Produkt
- Σ .....Gesamtsumme
- S(Pi) ..... Selektivität des Einheitsbedingungsausdrucks Pi (durch ein Verhältnis dargestellt)
- MAX (S(Pi)) ..... Maximum der durch Ersetzen der Variablen des Aussageausdrucks Pi durch Werte berechneten Selektivitäten
- MIN (S(Pi)) ..... Minimum der durch Ersetzen der Variablen des Aussageausdrucks Pi durch Werte berechneten Selektivitäten
- Die Selektivität des Komplexe-Bedingung-Ausdrucks wird durch die folgende Formel berechnet. Wenngleich ein Ver fahren zur Berechnung der Selektivität, bei dem die Beziehung der Einheitsbedingungsausdrücke berücksichtigt wird, vorgeschlagen wurde, ist es schwierig, einen Mechanismus zum Erreichen der Beziehung zu erfassen. Es wird angenommen, daß die Bedingungsausdrücke unabhängig voneinander sind.
- S (^ Pi) = Π S (Pi)
- wobei n die Anzahl der Einheitsbedingungsausdrücke ist. In der folgenden Erörterung wird der in Fig. 3 dargestellte Zugriffsweg angenommen. Es wird angenommen, daß die Verwendung des Index wirksam ist, falls die Selektivität 1 % nicht überschreitet, und die Verwendung des Relations- Abfragens ist in anderen Fällen wirksam.
- In den Figuren 4A bis 4I sind Flußdiagramme der DBMS-Verarbeitung gemäß der vorliegenden Erfindung dargestellt. Das DBMS umfaßt einen Vorverarbeitungsschritt 900, um die Anfrage vor deren Ausführung zu analysieren, zu optimie ren und in ein Ausführungsmodul umzuwandeln, sowie einen Anfrageausführungsschritt 960, um die Variablen durch die Konstanten zu ersetzen, das Datenzugriffs-Verarbeitungsverfahren durch die Ausführungsoptimierung auszuwählen und die Anfrage zu decodieren und auszuführen.
- Die jeweiligen Schritte werden nachfolgend beschrieben.
- (1) Anfrageanalyseschritt 910 ... Syntax- und Semantikanalyse des Eingabeanfragebefehls
- (2) Schritt 920 des Abschätzens der Selektivität einer Aussage ... Abschätzen eines Anteils der Daten (Aussageselektivität oder einfach Selektivität), die die Bedingung auf der Grundlage verschiedener infolge der Anfrage auftretender Bedingungsausdrücke erfüllt
- (3) Schritt 930 des Befreiens des Zugriffswegs ... Befreien der wirksamen Zugriffswegkandidaten auf der Grundlage der vorgegebenen Vorschrift
- (4) Schritt 940 der Erzeugung eines Verarbeitungs verfahrens ... Abschätzen der Kosten, die beispielsweise durch die Anzahl der Ein-/Ausgabezyklen und der CPU-Verarbeitungszeit gegeben sind und Erzeugen von Kandidaten für das Datenzugriffs-Verarbeitungsverfahren
- (5) Schritt 950 des Festlegens eines Verfahrenskandidatens ... Entwickeln der ausgewählten Kandidaten für das Datenzugriffs-Verarbeitungsverfahren in Ausführungsmodule und Erzeugen einer Datenstruktur (Zwischensprachen-Baumstruktur), wodurch ein Mechanismus zum Auswählen eines der Kandidaten auf der Grundlage der in der Ausführungsstufe ersetzten Konstanten erreicht wird.
- (1) Ausführungsoptimierungsschritt 970 ... Festlegen des auszuführenden optimalen Datenzugriffs-Verarbeitungsverfahrens durch die im Verfahrenskandidaten-Festlegungsvorgang auf der Grundlage der in der Anfrageausführungsstufe ersetzten Konstanten erzeugten Zwischensprachen-Baumstruktur und Entwickeln des Verfahrens zum Zwischensprachen-Baumaus führungsabschnitt.
- (2) Decodierungs- und Ausführungsschritt 980 ... Decodieren und Ausführen des im Ausführungsoptimierungsschritt bestimmten Datenzugriffs-Verarbeitungsverfahrens
- Detaillierte Beschreibungen der Flußdiagramme der jeweiligen Schritte werden nachfolgend gegeben.
- Ausführen einer Syntax- und Semantikanalyse des Anfragebefehls (Schritt 911) und Umformen der im Befehl auftretenden Bedingungsausdrücke in CNF oder DNF (Schritt 912).
- Es wird geprüft, ob eine Variable in jeder der im Anfragebedingungsausdruck auftretenden Aussagen auftritt (Schritt 921). Falls sie auftritt, wird geprüft, wo eine Spaltenwert-Verteilungsinformation über die Aussage besteht und der Schritt beendet (Schritte 921 T 923). Falls sie nicht auftritt, wird geprüft, ob eine Spaltenwert-Verteilungsinformation über die Aussage besteht (Schritte 921 T 922). Falls eine Spaltenwert-Verteilungsinformation besteht, wird eine Selektivität berechnet und der Schritt beendet (Schritte 922 T 925). Falls keine Spaltenwert-Verteilungsinformation über die Aussage besteht, wird ein abhängig vom Typ der Aussage bestimmter Vorgabewert als die Selektivität festgelegt (Schritte 922 T 924 und 923 T 924).
- Ein Index der in einer jeden Spalte auftretenden Aussage, die im Anfragebedingungsausdruck auftritt, wird als ein Kandidat registriert (Schritt 931). Es wird geprüft, ob eine DB-Maschine verfügbar ist (Schritt 932). Falls sie verfügbar ist, wird das Relations-Abfragen (Hardware-Verfahren) als ein Kandidat registriert (Schritt 934). Falls sie nicht verfügbar ist, wird das Relations-Abfragen (Software-Verfahren) als ein Kandidat registriert (Schritt 933). Es wird geprüft, ob die Selektivität einer jeden Aussage festgelegt worden ist (Schritt 935). Falls sie festgelegt worden ist, wird eine Priorität in der abfallenden Reihenfolge der Selektivität der Indizes der Aussagen aufgestellt (Schritt 936). Falls sie nicht festgelegt worden ist, werden mögliche maximale und minimale Selektivitäten bestimmt, die abhängig von dem ersetzten Wert für die Aussage Pi angenommen werden können (Schritt 937). Das Kriterium für das Befreien des Zugriffswegs wird auf der Grundlage der Systemcharakteristik, wie der CPU-Leistungsfähigkeit und der Verfügbarkeit der DB- Maschine, bestimmt (Schritt 938). Wie sich aus Fig. 3 ergibt, beträgt der Bezugswert v0 etwa 0,01. Schließlich wurden nur jene Zugriffswege, die Kombinationen von einem oder mehreren Indizes sind und kleinere Selektivitäten aufweisen als die genannten Bezugswerte, als Kandidaten registriert (Schritt 939).
- Es wird gemäß dem folgenden Ablauf verarbeitet.
- (i) k, MAX (S (Pk)) ≤ 0,01
- Vorbereiten eines einzelnen Datenzugriffs-Verarbeitungsverfahrens zum Ausbilden eines Index, der Pk als einen zugriffsweg festlegt (Schritte 9407 T 9410)
- (m: Anzahl der Einheitsbedingungsausdrücke, in denen Indizes vorhanden sind)
- Vorbereiten eines einzelnen Datenzugriffs-Verarbeitungsverfahrens, bei dem mehrere Indizes verwendet werden (Schritte 9408 T 9411).
- (m: Anzahl der Einheitsbedingungsausdrücke, in denen Indizes vorhanden sind)
- Vorbereiten eines einzelnen Datenzugriffs- Verarbeitungsverfahrens, bei dem das Relations-Abfragen verwendet wird (Schritte 9409 T 9412)
- (iv) Anders als (1i), (ii) und (iii)
- Vorbereiten mehrerer Datenzugriffs-Verarbeitungsverfahren (Schritt 9413). Fall 2: Bedingungsausdruck ist DNF.
- (n: Gesamtzahl der Einheitsbedingungsausdrücke)
- Vorbereiten eines einzelnen Datenzugriffs-Verarbeitungsverfahrens, bei dem mehrere Indizes verwendet werden (Schritte 9403 T 9404).
- (n: Gesamtzahl der Einheitsbedingungsausdrücke)
- Vorbereiten eines einzelnen Datenzugriffs-Verarbeitungsverfahrens, bei dem das Relations-Abfragen verwendet wird (9405 T 9406).
- (iii) Anders als (i) und (ii)
- Vorbereiten mehrerer Datenzugriffs-Verarbeitungsverfahren (Schritt 9413).
- Es wird geprüft, ob das Verarbeitungsverfahren einzeln auftritt (Schritt 951). Falls es einzeln auftritt, wird es zu einem Ausführungsmodul entwickelt (Schritt 956). Falls es nicht einzeln auftritt, wird geprüft, ob der Bedin gungsausdruck ein Auswahlbedingungsausdruck (=, ≠) oder ein ENTSPRECHEND-Bedingungsausdruck ist (Schritt 952). Falls er dies ist, werden nur die Spaltenwerte als Spaltenwert- Frequenz-Information ausgewählt, deren Anzahl der Zeilen, die den Bedingungsausdruck erfüllen, der durch die im Bedingungs ausdruck auftretende Spaltenwerte-Verteilungsinformation bestimmt ist, 1 % der Gesamtzahl der Zeilen überschreitet (Schritt 953). Falls sich der Bedingungsausdruck von dem Auswahlbedingungsausdruck (=, ≠) und dem ENTSPRECHEND-Bedingungsausdruck unterscheidet, wird die ursprüngliche Spalten wert-Frequenz-Information ausgewählt (Schritt 954). Die Zwischensprachen-Baumstruktur, die den Mechanismus erreicht, wird vorbereitet, um das Verarbeitungsverfahren in Übereinstimmung mit den in der Anfrageausführungsstufe ersetzten Konstanten auszuwählen (Schritt 955), und das Verarbeitungsverfahren wird zum Ausführungsmodul entwickelt (Schritt 956).
- Es wird geprüft, ob das Verarbeitungsverfahren einzeln auftritt (Schritt 9701). Falls es einzeln auftritt, wird der Schritt beendet. Falls es nicht einzeln auftritt, wird die Selektivität auf der Grundlage der in der Anfrageausführungsstufe ersetzten Konstanten berechnet (Schritt 9702). Es wird entsprechend dem folgenden Ablauf verarbeitet.
- (i) k, S (Pk) ≤ 0,01
- Auswählen eines Index, der Pk festlegt, als Zugriffsweg (Schritte 9707 T 9710)
- (m: Anzahl der Einheitsbedingungsausdrücke, in denen die Indizes vorhanden sind)
- Auswählen eines Datenzugriffs-Verarbeitungsverfahrens, bei dem mehrere Indizes verwendet werden (Schritte 9708 T 9711)
- (iii) Anders als (i) und (ii)
- Auswählen des Relations-Abfragens als Zugriffsweg (Schritt 9709) Fall 2: Bedingungsausdruck ist DNF
- (n: Gesamtzahl der Einheitsbedingungsausdrücke)
- Auswählen eines Datenzugriffs-Verarbeitungsverfahrens, bei dem mehrere Indizes verwendet werden (Schritte 9705 T 9706)
- (ii) Anders als (i)
- Auswählen des Relations-Abfragens als Zugriffsweg (Schritt 9709)
- Decodieren des ausgewählten Verarbeitungsverfahrens im Ausführungsmodul und Ausführen des Anfragebefehls (Schritt 981).
- Durch diese Schritte wird die Anfrage, die die Variablen enthält, ausgeführt.
- Die Verarbeitungsabläufe wurden damit erklärt. Das Vorverarbeitungsverfahren der vorliegenden Erfindung ist nicht nur auf die Kombination der Vorschrift, die die statistische Information verwendet, und der Kostenberechnung anwendbar, sondern auch auf das DBMS, das den Optimierungsschritt, der beispielsweise ausschließlich aus der Kostenberechnung aus der Vorschrift besteht oder der aus der Kombination der Kostenberechnung und der Vorschrift besteht, solange das interne herkömmliche Verfahren, das die geeigne ten Datenbankreferenz-Charakteristik-Informationen liefert, vorgesehen ist. Die Datenbankreferenz-Charakteristik kann auf der Grundlage der Eingabeanfrage automatisch durch das DBMS oder durch die Benutzerfestlegung bestimmt werden (in der Vorverarbeitungsstufe oder der Anfrageausführungsstufe). Abhängig vom Bedingungsausdruck, der in der Anfrage auftritt, können mehrere interne Verarbeitungsverfahren im Ausführungsmodul entwickelt werden, und falls der Schritt 114 des Festlegens des optimalen Kandidaten für das Zugriffsverfahren bestimmt, daß die Auswahl des internen Verarbeitungsverfahrens in der Anfrageausführungsstufe nicht erforderlich ist, wird im Ausführungsmodul, wie beim herkömmlichen Vorverarbeitungsschritt, ein einzelnes internes Verarbeitungsverfahren erzeugt. Die Spaltenwert-Frequenz-Information braucht nicht in der Datenbank gespeichert zu werden, sondern kann in einem Datenverzeichnis oder einem Verzeichnis gespeichert werden. Da die Spaltenwert-Frequenz durch Zugreifen auf den herkömmlichen Index gewonnen wird, kann die Spaltenwert-Frequenz- Information vom Index festgelegt werden. Schließlich kann die Spaltenwert-Frequenz-Information aus der Datenbank, dem Datenverzeichnis, dem Verzeichnis oder dem Index gewonnen werden, um das interne Verarbeitungsverfahren auszuwählen.
- Die vorliegende Erfindung kann durch ein Softwaresystem eines Großrechners oder durch ein komplexes Prozessorsystem mit getrennten Prozessoren für die jeweiligen Verarbeitungseinheiten erreicht werden.
- Gemäß der vorliegenden Erfindung wird das interne Verarbeitungsverfahren für die Anfrage, deren optimales internes Verarbeitungsverfahren sich mit dem in der Ausführungsstufe ersetzten Wert ändert, (1) vorab zum Ausführungsmodul entwickelt, so daß die CPU-Auslastung im Vergleich zu dem Fall, in dem die Optimierung in der Ausführungsstufe ausgeführt wird, verringert ist, und wird (2) auf der Grundlage der Spaltenwert-Frequenz-Information ausgewählt, so daß das optimale interne Verarbeitungsverfahren ausgewählt wird und die CPU-Auslastung und die Anzahl der Ein-/Ausgabezyklen verringert werden.
Claims (9)
1. Verfahren zur Datenbankverarbeitung mit
einem Vorverarbeitungsschritt (11; 900), der einen
Schritt (110; 910) des Analysierens einer eine Variable
enthaltenden Anfrage und einen Schritt (113; 940) des Erzeugens
interner Verarbeitungsverfahren zum Ausführen der Anfrage auf
der Grundlage eines Ergebnisses des Analyseschrittes (110;
910) und statistischer Informationen von einem die Datenbank
enthaltenden System aufweist, und
einem Anfrageausführungsschritt (12; 960), der einen
Schritt (121; 980) des Ausführens der Anfrage in
Übereinstimmung mit den internen Verarbeitungsverfahren des
Erzeugungsschrittes (113; 940) aufweist,
dadurch gekennzeichnet, daß
der Anfrageausführungsschritt (12; 960) einen weiteren
Schritt (120; 970) des Auswählens eines der internen
Verarbeitungsverfahren auf der Grundlage eines Wertes, der durch
den Anfrageausfuhrungsschritt bestimmt ist, um die in der
Anfrage enthaltene Variable zu ersetzen, und der statistischen
Informationen von dem System (10) aufweist, so daß der
Ausführungsschritt (121; 980) die Anfrage in Übereinstimmung mit
dem ausgewählten internen Verarbeitungsverfahren ausführt.
2. Verfahren nach Anspruch 1, wobei die statistischen
Informationen von dem System (10) einen Spaltenwert-Frequenz-
Informationssatz aufweist, der sich auf eine Spalte bezieht,
die eine in der Anfrage ausgedrückte Suchbedingung enthält.
3. Verfahren nach Anspruch 2, wobei der
Spaltenwert-Frequenz-Informationssatz Informationen, die die Frequenz der
Spalte betreffen, und Informationen, die den Bereichswert
betreffen, aufweist.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei die
statistischen Informationen eine Systemcharakteristik und
eine Datenbankcharakteristik aufweisen.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der
Auswähischritt (970.) ein Verarbeitungsverfahren auf der
Grundlage einer Bestunmung durch einen Benutzer auswählt.
6. Vorrichtung zur Datenbankverarbeitung mit
einer Vorverarbeitungseinrichtung (11), die eine
Einrichtung (110) zum Analysieren einer eine Variable
enthaltenden Anfrage und eine Einrichtung (113) zum Erzeugen interner
Verarbeitungsverfahren zum Ausführen der Anfrage auf der
Grundlage eines Analyseergebnisses der Analyseeinrichtung
(110) und von statistischen Informationen von einem die
Datenbank enthaltenden System (10) aufweist, und
einer Anfrageausführungseinrichtung (12), die eine
Einrichtung (121) zum Ausführen der Anfrage in Übereinstimmung
mit den von der Erzeugungseinrichtung (113) erzeugten
internen Verarbeitungsverfahren aufweist,
dadurch gekennzeichnet, daß
die Anfrageausführungseinrichtung (12) weiter eine
Einrichtung (120) zum Auswählen eines der internen
Verarbeitungsverfahren auf der Grundlage eines Wertes, der durch die
Anfrageausführungseinrichtung bestimmt ist, um die in der
Anfrage enthaltene Variable zu ersetzen, und den statistischen
Informationen von dem System (10) aufweist, so daß die
Ausführungseinrichtung (121) die Anfrage in Übereinstimmung mit
einem internen Verarbeitungsverfahren ausführt, das von der
Auswahleinrichtung ausgewählt wird.
7. Verfahren nach Anspruch 6, wobei die statistischen
Informationen von dem System (10) einen Spaltenwert-Frequenz-
Informationssatz aufweist, der sich auf eine Spalte bezieht,
die eine in der Anfrage ausgedrückte Suchbedingung enthält.
8. Verfahren nach Anspruch 71 wobei der
Spaltenwert-Frequenz-Informationssatz Informationen, die die Frequenz der
Spalte betreffen&sub1; und Informationen, die den Bereichswert
betreffen, aufweist.
9. Verfahren nach einem der Ansprüche 6 bis 8, wobei die
statistischen Informationen eine Systemcharakteristik und
eine Datenbankcharakteristik aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63017071A JP2760794B2 (ja) | 1988-01-29 | 1988-01-29 | データベース処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68927413D1 DE68927413D1 (de) | 1996-12-12 |
DE68927413T2 true DE68927413T2 (de) | 1997-05-22 |
Family
ID=11933752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68927413T Expired - Fee Related DE68927413T2 (de) | 1988-01-29 | 1989-01-25 | Verfahren und Vorrichtung zur Datenbankverarbeitung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5091852A (de) |
EP (1) | EP0326927B1 (de) |
JP (1) | JP2760794B2 (de) |
DE (1) | DE68927413T2 (de) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696916A (en) * | 1985-03-27 | 1997-12-09 | Hitachi, Ltd. | Information storage and retrieval system and display method therefor |
JPH0833854B2 (ja) * | 1988-07-22 | 1996-03-29 | 日本電信電話株式会社 | 関係データベースのアクセスパス決定処理方法 |
JPH03129472A (ja) * | 1989-07-31 | 1991-06-03 | Ricoh Co Ltd | 文書検索装置における処理方法 |
US5241671C1 (en) | 1989-10-26 | 2002-07-02 | Encyclopaedia Britannica Educa | Multimedia search system using a plurality of entry path means which indicate interrelatedness of information |
US6978277B2 (en) * | 1989-10-26 | 2005-12-20 | Encyclopaedia Britannica, Inc. | Multimedia search system |
GB8929158D0 (en) * | 1989-12-23 | 1990-02-28 | Int Computers Ltd | Database system |
DE69032576T2 (de) * | 1990-02-27 | 1999-04-15 | Oracle Corp | Dynamische Optimierung eines einzelnen relationalen Zugriffs |
US5761493A (en) * | 1990-04-30 | 1998-06-02 | Texas Instruments Incorporated | Apparatus and method for adding an associative query capability to a programming language |
JPH0415839A (ja) * | 1990-05-10 | 1992-01-21 | Toshiba Corp | 分散データベース管理装置 |
JP2525275B2 (ja) * | 1990-07-17 | 1996-08-14 | 三洋電機株式会社 | デ―タベ―ス操作方法 |
US5408652A (en) * | 1990-08-31 | 1995-04-18 | Fujitsu Limited | Method and apparatus for heterogenous database access by generating different access procedures for different database data structures |
US5742809A (en) * | 1990-08-31 | 1998-04-21 | Fujitsu Limited | Database generic composite structure processing system |
GB9023096D0 (en) * | 1990-10-24 | 1990-12-05 | Int Computers Ltd | Database search processor |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
JP2819517B2 (ja) * | 1990-12-17 | 1998-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データベース照会を行う方法およびシステム |
US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
US5347652A (en) * | 1991-06-26 | 1994-09-13 | International Business Machines Corporation | Method and apparatus for saving and retrieving functional results |
WO1993007564A1 (en) * | 1991-10-10 | 1993-04-15 | Acucobol, Inc. | Computer system for generating sql statements from cobol code |
US5421008A (en) * | 1991-11-08 | 1995-05-30 | International Business Machines Corporation | System for interactive graphical construction of a data base query and storing of the query object links as an object |
JP2792293B2 (ja) * | 1991-11-29 | 1998-09-03 | 日本電気株式会社 | 情報検索装置 |
US5345585A (en) * | 1991-12-02 | 1994-09-06 | International Business Machines Corporation | Method for optimizing processing of join queries by determining optimal processing order and assigning optimal join methods to each of the join operations |
US5367675A (en) * | 1991-12-13 | 1994-11-22 | International Business Machines Corporation | Computer automated system and method for optimizing the processing of a query in a relational database system by merging subqueries with the query |
FR2696853B1 (fr) * | 1992-10-12 | 1994-12-23 | Bull Sa | Procédé d'aide à l'optimisation d'une requête d'un système de gestion, de base de données relationnel et procédé d'analyse syntaxique en résultant. |
JP3163141B2 (ja) * | 1992-01-30 | 2001-05-08 | 富士通株式会社 | リレーショナルデータベース処理装置および処理方法 |
US5519860A (en) * | 1992-01-31 | 1996-05-21 | Syncsort Incorporated | Central processor index sort followed by direct record sort and write by an intelligent control unit |
JPH05233720A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | Dbにおけるデータベースアシスト方法 |
US5404507A (en) * | 1992-03-02 | 1995-04-04 | At&T Corp. | Apparatus and method for finding records in a database by formulating a query using equivalent terms which correspond to terms in the input query |
US5495578A (en) * | 1992-04-06 | 1996-02-27 | Hewlett-Packard Company | Apparatus and method for changing the behavior of a computer program while retaining control of program execution |
US5301317A (en) * | 1992-04-27 | 1994-04-05 | International Business Machines Corporation | System for adapting query optimization effort to expected execution time |
US5412806A (en) * | 1992-08-20 | 1995-05-02 | Hewlett-Packard Company | Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database |
FR2696852B1 (fr) * | 1992-10-12 | 1994-12-23 | Bull Sa | Procédé d'aide à l'optimisation d'une requête d'un système de gestion de base de données relationnel. |
US5692171A (en) * | 1992-11-20 | 1997-11-25 | Bull S.A. | Method of extracting statistical profiles, and use of the statistics created by the method |
US5469568A (en) * | 1993-01-07 | 1995-11-21 | International Business Machines Corporation | Method for choosing largest selectivities among eligible predicates of join equivalence classes for query optimization |
US5752034A (en) * | 1993-01-15 | 1998-05-12 | Texas Instruments Incorporated | Apparatus and method for providing an event detection notification service via an in-line wrapper sentry for a programming language |
JP3266351B2 (ja) * | 1993-01-20 | 2002-03-18 | 株式会社日立製作所 | データベース管理システムおよび問合せの処理方法 |
US6556988B2 (en) | 1993-01-20 | 2003-04-29 | Hitachi, Ltd. | Database management apparatus and query operation therefor, including processing plural database operation requests based on key range of hash code |
US5911138A (en) * | 1993-06-04 | 1999-06-08 | International Business Machines Corporation | Database search facility having improved user interface |
US5544355A (en) * | 1993-06-14 | 1996-08-06 | Hewlett-Packard Company | Method and apparatus for query optimization in a relational database system having foreign functions |
WO1995009395A1 (en) * | 1993-09-27 | 1995-04-06 | Oracle Corporation | Method and apparatus for parallel processing in a database system |
US5765146A (en) * | 1993-11-04 | 1998-06-09 | International Business Machines Corporation | Method of performing a parallel relational database query in a multiprocessor environment |
US5623693A (en) * | 1994-02-17 | 1997-04-22 | International Business Machines Corporation | System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting |
US5600831A (en) * | 1994-02-28 | 1997-02-04 | Lucent Technologies Inc. | Apparatus and methods for retrieving information by modifying query plan based on description of information sources |
US5640550A (en) * | 1994-04-15 | 1997-06-17 | Coker; Drake | Computer system for generating SQL statements from COBOL code |
US5826076A (en) * | 1994-05-13 | 1998-10-20 | Liant Software Corporation | Computer-based information access method and apparatus to permit SQL-based manipulation of programming language-specific data files |
CA2124094C (en) * | 1994-05-20 | 1999-07-20 | K. Bernhard Schiefer | Method and apparatus for optimizing data retrieval using index scanning |
US5758144A (en) * | 1994-06-24 | 1998-05-26 | International Business Machines Corporation | Database execution cost and system performance estimator |
US5680603A (en) * | 1994-10-20 | 1997-10-21 | International Business Machines Corporation | Method and apparatus for reordering complex SQL queries containing inner and outer join operations |
US5745748A (en) * | 1994-12-09 | 1998-04-28 | Sprint Communication Co. L.P. | System and method for direct accessing of remote data |
US5701454A (en) * | 1995-01-17 | 1997-12-23 | International Business Machines Corporation | Simplification of SQL queries using generalized inference propagation and generalized transitive closure |
US5687362A (en) * | 1995-01-30 | 1997-11-11 | International Business Machines Corporation | Enumerating projections in SQL queries containing outer and full outer joins in the presence of inner joins |
US5615361A (en) * | 1995-02-07 | 1997-03-25 | International Business Machines Corporation | Exploitation of uniqueness properties using a 1-tuple condition for the optimization of SQL queries |
US5590324A (en) * | 1995-02-07 | 1996-12-31 | International Business Machines Corporation | Optimization of SQL queries using universal quantifiers, set intersection, and max/min aggregation in the presence of nullable columns |
US5548754A (en) * | 1995-02-07 | 1996-08-20 | International Business Machines Corporation | Optimization of SQL queries using early-out join transformations |
US5894311A (en) * | 1995-08-08 | 1999-04-13 | Jerry Jackson Associates Ltd. | Computer-based visual data evaluation |
US5774692A (en) * | 1995-10-05 | 1998-06-30 | International Business Machines Corporation | Outer quantifiers in object-oriented queries and views of database systems |
US5797136A (en) * | 1995-10-05 | 1998-08-18 | International Business Machines Corporation | Optional quantifiers in relational and object-oriented views of database systems |
US5778364A (en) * | 1996-01-02 | 1998-07-07 | Verity, Inc. | Evaluation of content of a data set using multiple and/or complex queries |
JP3434641B2 (ja) * | 1996-02-23 | 2003-08-11 | 三菱電機株式会社 | データベース処理方法 |
US5913205A (en) * | 1996-03-29 | 1999-06-15 | Virage, Inc. | Query optimization for visual information retrieval system |
US5765028A (en) * | 1996-05-07 | 1998-06-09 | Ncr Corporation | Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system |
US6574654B1 (en) | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
US5822747A (en) * | 1996-08-23 | 1998-10-13 | Tandem Computers, Inc. | System and method for optimizing database queries |
US6148294A (en) * | 1996-12-20 | 2000-11-14 | Siemens Information And Communication Networks, Inc. | System and method for computer directory updating and presentation based on frequency of access |
US5872981A (en) * | 1997-05-30 | 1999-02-16 | Oracle Corporation | Method for managing termination of a lock-holding process using a waiting lock |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US5960428A (en) * | 1997-08-28 | 1999-09-28 | International Business Machines Corporation | Star/join query optimization |
US5943666A (en) * | 1997-09-15 | 1999-08-24 | International Business Machines Corporation | Method and apparatus for optimizing queries across heterogeneous databases |
US6006220A (en) * | 1997-09-30 | 1999-12-21 | International Business Machines Corporation | Determining the optimal access path for a query at execution time using an actual value for each variable in a query for estimating a filter factor |
US6243703B1 (en) | 1997-10-14 | 2001-06-05 | International Business Machines Corporation | Method of accessing and displaying subsystem parameters including graphical plan table data |
US6539371B1 (en) * | 1997-10-14 | 2003-03-25 | International Business Machines Corporation | System and method for filtering query statements according to user-defined filters of query explain data |
US6006219A (en) * | 1997-11-03 | 1999-12-21 | Newframe Corporation Ltd. | Method of and special purpose computer for utilizing an index of a relational data base table |
US6163782A (en) | 1997-11-19 | 2000-12-19 | At&T Corp. | Efficient and effective distributed information management |
US6169985B1 (en) * | 1998-05-29 | 2001-01-02 | Epiphany, Inc. | Method and apparatus for determining a set of database entries |
US7461058B1 (en) | 1999-09-24 | 2008-12-02 | Thalveg Data Flow Llc | Optimized rule based constraints for collaborative filtering systems |
US6542893B1 (en) * | 2000-02-29 | 2003-04-01 | Unisys Corporation | Database sizer for preemptive multitasking operating system |
US6721724B1 (en) * | 2000-03-31 | 2004-04-13 | Microsoft Corporation | Validating multiple execution plans for database queries |
US6470335B1 (en) | 2000-06-01 | 2002-10-22 | Sas Institute Inc. | System and method for optimizing the structure and display of complex data filters |
US7788123B1 (en) | 2000-06-23 | 2010-08-31 | Ekhaus Michael A | Method and system for high performance model-based personalization |
US7650304B1 (en) | 2000-09-08 | 2010-01-19 | Capital One Financial Corporation | Solicitation to web marketing loop process |
US7567916B1 (en) * | 2000-09-12 | 2009-07-28 | Capital One Financial Corporation | System and method for performing Web based in-view monitoring |
JP4384797B2 (ja) * | 2000-10-04 | 2009-12-16 | 日本精工株式会社 | 機械要素性能指標情報提供方法及びシステム並びに機械要素選択支援方法及びシステム |
US6785668B1 (en) | 2000-11-28 | 2004-08-31 | Sas Institute Inc. | System and method for data flow analysis of complex data filters |
US8069419B2 (en) * | 2001-04-18 | 2011-11-29 | Sas Institute Inc. | Graphical user interface check-list button control and method |
US6968330B2 (en) * | 2001-11-29 | 2005-11-22 | International Business Machines Corporation | Database query optimization apparatus and method |
AU2003273333A1 (en) * | 2002-09-18 | 2004-04-08 | Netezza Corporation | Field oriented pipeline architecture for a programmable data streaming processor |
US7275051B2 (en) * | 2002-11-08 | 2007-09-25 | International Business Machines Corporation | Method and system for reducing host variable impact on access path selection |
US7293011B1 (en) | 2002-11-27 | 2007-11-06 | Oracle International Corporation | TQ distribution that increases parallism by distributing one slave to a particular data block |
US7188113B1 (en) | 2002-11-27 | 2007-03-06 | Oracle International Corporation | Reducing contention by slaves for free lists when modifying data in a table partition |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US7330848B2 (en) * | 2003-05-23 | 2008-02-12 | Microsoft Corporation | Method and apparatus for generating statistics on query expressions for optimization |
EP1649390B1 (de) | 2003-07-07 | 2014-08-20 | IBM International Group BV | Optimierte erzeugung von sql-kode |
ATE515746T1 (de) * | 2003-09-15 | 2011-07-15 | Ab Initio Technology Llc | Datenprofilierung |
US20050165748A1 (en) * | 2004-01-15 | 2005-07-28 | Seagate Technology Llc | Method and apparatus for querying a computerized database |
US8478742B2 (en) * | 2004-04-14 | 2013-07-02 | Oracle Corporation | Using estimated cost to refresh a set of materialized views (MVS) |
US20050283471A1 (en) * | 2004-06-22 | 2005-12-22 | Oracle International Corporation | Multi-tier query processing |
US7702627B2 (en) * | 2004-06-22 | 2010-04-20 | Oracle International Corporation | Efficient interaction among cost-based transformations |
JP2006040024A (ja) * | 2004-07-28 | 2006-02-09 | Hitachi Ltd | ストレージ管理方法、管理装置及びコンピュータシステム |
US7814042B2 (en) * | 2004-08-17 | 2010-10-12 | Oracle International Corporation | Selecting candidate queries |
US8046354B2 (en) * | 2004-09-30 | 2011-10-25 | International Business Machines Corporation | Method and apparatus for re-evaluating execution strategy for a database query |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US7343367B2 (en) * | 2005-05-12 | 2008-03-11 | International Business Machines Corporation | Optimizing a database query that returns a predetermined number of rows using a generated optimized access plan |
US7356524B2 (en) * | 2005-05-13 | 2008-04-08 | Sap Ag | Query runtime estimation using statistical query records |
US7636735B2 (en) * | 2005-08-19 | 2009-12-22 | International Business Machines Corporation | Method for estimating the cost of query processing |
US7617189B2 (en) * | 2005-09-27 | 2009-11-10 | Oracle International Corporation | Parallel query processing techniques for minus and intersect operators |
US7877379B2 (en) * | 2005-09-30 | 2011-01-25 | Oracle International Corporation | Delaying evaluation of expensive expressions in a query |
US7945562B2 (en) * | 2006-03-15 | 2011-05-17 | Oracle International Corporation | Join predicate push-down optimizations |
US7644062B2 (en) * | 2006-03-15 | 2010-01-05 | Oracle International Corporation | Join factorization of union/union all queries |
US7809713B2 (en) * | 2006-03-15 | 2010-10-05 | Oracle International Corporation | Efficient search space analysis for join factorization |
EP2021951B1 (de) * | 2006-06-01 | 2010-09-01 | mediareif Möstl & Reif Kommunikations- und Informationstechnologien OEG | Verfahren zum steuern eines relationalen datenbanksystems |
US7877373B2 (en) * | 2006-06-30 | 2011-01-25 | Oracle International Corporation | Executing alternative plans for a SQL statement |
JP4997856B2 (ja) * | 2006-07-19 | 2012-08-08 | 富士通株式会社 | データベース分析プログラム、データベース分析装置、データベース分析方法 |
US8688682B2 (en) * | 2007-03-23 | 2014-04-01 | International Business Machines Corporation | Query expression evaluation using sample based projected selectivity |
US9002827B2 (en) * | 2007-07-11 | 2015-04-07 | Teradata Us, Inc. | Database query table substitution |
US8903801B2 (en) | 2007-09-14 | 2014-12-02 | Oracle International Corporation | Fully automated SQL tuning |
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US8600977B2 (en) * | 2007-10-17 | 2013-12-03 | Oracle International Corporation | Automatic recognition and capture of SQL execution plans |
US8438152B2 (en) * | 2007-10-29 | 2013-05-07 | Oracle International Corporation | Techniques for bushy tree execution plans for snowstorm schema |
US9805077B2 (en) * | 2008-02-19 | 2017-10-31 | International Business Machines Corporation | Method and system for optimizing data access in a database using multi-class objects |
US8239406B2 (en) * | 2008-12-31 | 2012-08-07 | International Business Machines Corporation | Expression tree data structure for representing a database query |
US9424365B2 (en) * | 2009-10-30 | 2016-08-23 | Oracle International Corporation | XPath-based creation of relational indexes and constraints over XML data stored in relational tables |
US10162851B2 (en) | 2010-04-19 | 2018-12-25 | Salesforce.Com, Inc. | Methods and systems for performing cross store joins in a multi-tenant store |
US8447754B2 (en) | 2010-04-19 | 2013-05-21 | Salesforce.Com, Inc. | Methods and systems for optimizing queries in a multi-tenant store |
JP5304950B2 (ja) * | 2010-08-04 | 2013-10-02 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
CN103136260A (zh) * | 2011-11-30 | 2013-06-05 | 国际商业机器公司 | 评估过滤因子用于数据库中访问路径优化的方法和装置 |
CN103176974B (zh) * | 2011-12-20 | 2016-01-13 | 国际商业机器公司 | 优化数据库中访问路径的方法和装置 |
US9298771B2 (en) | 2013-01-30 | 2016-03-29 | Ias Solutions, Inc. | Resource estimation for a query optimization process |
US9275103B2 (en) | 2013-02-28 | 2016-03-01 | International Business Machines Corporation | Optimization of JOIN queries for related data |
US9870390B2 (en) | 2014-02-18 | 2018-01-16 | Oracle International Corporation | Selecting from OR-expansion states of a query |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
US9158786B1 (en) | 2014-10-01 | 2015-10-13 | Bertram Capital Management, Llc | Database selection system and method to automatically adjust a database schema based on an input data |
US10585887B2 (en) | 2015-03-30 | 2020-03-10 | Oracle International Corporation | Multi-system query execution plan |
US11194809B2 (en) * | 2016-12-02 | 2021-12-07 | International Business Machines Corporation | Predicting performance of database queries |
KR101919771B1 (ko) | 2017-06-12 | 2019-02-11 | 주식회사 티맥스데이터 | 데이터베이스 애플리케이션을 위한 최적화 기법 |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
US11609911B2 (en) * | 2019-12-19 | 2023-03-21 | Ocient Holdings LLC | Selecting a normalized form for conversion of a query expression |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506326A (en) * | 1983-02-28 | 1985-03-19 | International Business Machines Corporation | Apparatus and method for synthesizing a query for accessing a relational data base |
US4829427A (en) * | 1984-05-25 | 1989-05-09 | Data General Corporation | Database query code generation and optimization based on the cost of alternate access methods |
US4769772A (en) * | 1985-02-28 | 1988-09-06 | Honeywell Bull, Inc. | Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases |
US4774661A (en) * | 1985-11-19 | 1988-09-27 | American Telephone And Telegraph Company, At&T Information Systems | Database management system with active data dictionary |
-
1988
- 1988-01-29 JP JP63017071A patent/JP2760794B2/ja not_active Expired - Lifetime
-
1989
- 1989-01-25 DE DE68927413T patent/DE68927413T2/de not_active Expired - Fee Related
- 1989-01-25 US US07/302,307 patent/US5091852A/en not_active Expired - Lifetime
- 1989-01-25 EP EP89101283A patent/EP0326927B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE68927413D1 (de) | 1996-12-12 |
EP0326927A3 (de) | 1992-10-07 |
US5091852A (en) | 1992-02-25 |
JP2760794B2 (ja) | 1998-06-04 |
EP0326927A2 (de) | 1989-08-09 |
JPH01194028A (ja) | 1989-08-04 |
EP0326927B1 (de) | 1996-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68927413T2 (de) | Verfahren und Vorrichtung zur Datenbankverarbeitung | |
DE68927743T2 (de) | Sortier-/Mischausgabe | |
DE68916486T2 (de) | Verfahren zur Durchführung von Operationen in einem relationalen Datenbankverwaltungssystem. | |
DE69427381T2 (de) | Backupsystem und -verfahren für eine Datenbank | |
DE69030228T2 (de) | Verfahren zur Verbindung zweier Relationen einer Datenbank auf einem gemeinsamen Feld in einem parallelen Datenbanksystem | |
DE69615230T2 (de) | Relationales Datenbanksystem und Verfahren mit grosser Verfügbarkeit der Daten bei der Umstrukturierung von Tabellendaten | |
DE69132331T2 (de) | Adaptives Klassifizierungssystem zum Wiederfinden von Informationen | |
DE69526168T2 (de) | Verfahren und Gerät zur Klassifikation von Dokumentinformationen | |
DE69227948T2 (de) | Verfahren und Gerät um ein dynamisches Lexikon in ein Textinformationsauffindungssystem zu integrieren | |
DE69032576T2 (de) | Dynamische Optimierung eines einzelnen relationalen Zugriffs | |
DE69533193T2 (de) | Paralleles verarbeitungssystem zum durchlaufen einer datenbank | |
DE69031772T2 (de) | Verfahren zur Informations-Wiedergewinnung für ein Datenbanksystem | |
DE60208778T2 (de) | Datenstruktur für informationssysteme | |
DE69507020T2 (de) | System zum filtern von prioritätswarteschlangen und betriebsverfahren | |
DE69230814T2 (de) | Datenbankauffindungssystem zur Beantwortung natursprachlicher Fragen mit dazugehörigen Tabellen | |
DE69910219T2 (de) | Transformation der perspektive auf tabellen von relationalen datenbanken | |
DE60022152T2 (de) | Parallele optimierte Ereignisauslösung in parallelen Datenbanksystemen | |
DE60124657T2 (de) | Reduzierung von Ausschlusskonflikten in SQL-Transaktionen | |
DE69433165T2 (de) | Assoziatives textsuch- und wiederauffindungssystem | |
DE60121231T2 (de) | Datenverarbeitungsverfahren | |
DE112019004387T5 (de) | Unterteilen eines wissensgraphen | |
DE69328400T2 (de) | Hilfsverfahren zur Abfrageoptimierung eines relationellen Datenbankverwaltungssystems und daraus resultierendes syntaktisches Analyseverfahren | |
DE60130475T2 (de) | Durchführung von kalkulationen eines tabellenkalkulationstyps in einem datenbanksystem | |
DE69802437T2 (de) | Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen | |
DE202020005722U1 (de) | Platzierung von adaptiven Aggregationsoperatoren und- Eigenschaften in einem Abfrageplan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |