DE10063514A1 - Verwendung einer gespeicherten Prozedur zum Zugriff auf Indexkonfigurationsdaten in einem fernen Datenbankverwaltungssystem - Google Patents
Verwendung einer gespeicherten Prozedur zum Zugriff auf Indexkonfigurationsdaten in einem fernen DatenbankverwaltungssystemInfo
- Publication number
- DE10063514A1 DE10063514A1 DE10063514A DE10063514A DE10063514A1 DE 10063514 A1 DE10063514 A1 DE 10063514A1 DE 10063514 A DE10063514 A DE 10063514A DE 10063514 A DE10063514 A DE 10063514A DE 10063514 A1 DE10063514 A1 DE 10063514A1
- Authority
- DE
- Germany
- Prior art keywords
- management system
- database
- database management
- index
- workload
- 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.)
- Withdrawn
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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
-
- 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/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Ein Indexberater gibt eine optimale Indexkonfiguration zur Verwendung bei der Ausführung von Workloads in einer von einem Datenbankverwaltungssystem verwalteten Datenbank an. Wenn die Datenbank und das Datenbanksystem sich nicht am gleichen Ort befinden wie der Indexberater, ruft der Indexberater eine gespeicherte Prozedur im Datenbankverwaltungssystem auf, um Informationen zur optimalen Indexkonfiguration zu erhalten.
Description
Die vorliegende Erfindung betrifft allgemein
Programmentwicklungsumgebungen und speziell die Verwendung
einer gespeicherten Prozedur zum Zugriff auf
Indexkonfigurationsdaten in einem fernen relationalen
Datenbankverwaltungssystem.
Computersysteme mit relationalen
Datenbankverwaltungssystemen (Relational DataBase Management
Systems - RDBMS) unter Verwendung einer SQL-Schnittstelle
(Structured Query Language - Strukturierte Abfragesprache)
sind in Fachkreisen bekannt. Die SQL-Schnittstelle hat sich
zu einer Standardsprache für RDBMS entwickelt und wurde als
solche sowohl vom American National Standards Institute
(ANSI) als auch von der International Standards Organization
(ISO) angenommen.
Indizes werden häufig verwendet, um die Leistungsfähigkeit
eines RDBMS bei der Ausführung von SQL-Anweisungen zu
steigern. Für jede Tabelle, auf die in einer SQL-Anweisung
verwiesen wird, muss, falls kein Index für die Tabelle
existiert, eine Tabellensuche durchgeführt werden. Wenn
hingegen ein Index vorhanden ist, wird dieser zur Verwendung
ausgewählt, falls die RDBMS-Optimierungsfunktion zu der
Einschätzung gelangt, dass eine Indexsuche schneller geht
als eine Tabellensuche.
Indexdateien sind in der Regel kleiner und können schneller
durchsucht werden als eine ganze Tabelle. Außerdem kann es
sein, dass gar nicht der gesamte Index durchsucht werden
muss. Die auf den Index angewendeten Prädikate reduzieren
die Anzahl der Zeilen, die aus der Tabelle gelesen werden
müssen.
In der Regel kann ein Benutzer nicht steuern, ob das RDBMS
bei der Ausführung von SQL-Anweisungen einen Index benutzt.
Der RDBMS-Optimierer trifft diese Entscheidung anhand der
verfügbaren Tabellen- und Indexinformationen.
Der Benutzer kann aber in dem Prozess eine wichtige Rolle
spielen, indem er eine Konfiguration von Indizes zu den
Zieltabellen einer Abfrage erstellt, ändert oder löscht, die
die vom RDBMS-Optimierer ausgeführten Aktionen beeinflusst.
Die Indexkonfiguration sollte deshalb sorgfältig ausgewählt
werden, so dass sie den Anforderungen einer Anwendung
entspricht.
Um festzustellen, ob in einem bestimmten Satz von SQL-
Anweisungen ein Index verwendet werden soll, stellen RDBMS-
Anbieter verschiedene Dienstprogramme zur Verfügung. Es ist
bekannt, dass es Dienstprogramme gibt, die dem Benutzer
Empfehlungen geben, was für Indizes sie für die optimale
Leistung im RDBMS erstellen sollten. In der Regel erstellen
solche Dienstprogramme sogar die Indizes, falls der Benutzer
den entsprechenden Befehl erteilt.
Ein Problem taucht aber dann auf, wenn die Dienstprogramme
von einem RDBMS ausgeführt werden, das nicht das RDBMS ist,
für das die Empfehlungen gewünscht werden. Normalerweise
können die Dienstprogramme keine Empfehlungen für ferne
Datenbanken geben, da sie nicht auf die Informationen
zugreifen können, die für solche Empfehlungen notwendig
sind. In Fachkreisen ist deshalb ein Mechanismus gefragt,
der die nötigen Informationen über ferne Datenbanken einem
Dienstprogramm zur Verfügung stellt, das den Benutzern
Empfehlungen zur optimalen Indexkonfiguration gibt.
Um die genannten Beschränkungen des Stands der Technik und
andere Einschränkungen, die beim Lesen und Verständnis der
vorliegenden Spezifikation deutlich werden, zu überwinden,
offenbart die vorliegende Erfindung ein Verfahren, eine
Vorrichtung und einen Herstellungsartikel zur Ausführung
eines Indexberaters, der eine optimale Indexkonfiguration
zur Verwendung bei Arbeiten in einer von einem
Datenbankverwaltungssystem verwalteten Datenbank angibt.
Wenn die Datenbank und das Datenbanksystem sich nicht am
gleichen Ort befinden wie der Indexberater, ruft der
Indexberater eine gespeicherte Prozedur im
Datenbankverwaltungssystem auf, um Informationen zur
optimalen Indexkonfiguration zu erhalten.
In allen Zeichnungen werden für gleiche Teile die gleichen
Bezugszeichen verwendet. Die Zeichnungen haben folgenden
Inhalt:
Fig. 1 zeigt eine exemplarische Computerhardware-Umgebung,
die in Verbindung mit der bevorzugten Ausführungsform der
vorliegenden Erfindung verwendet werden kann;
Fig. 2 ist ein Blockdiagramm der Struktur einer Workload-
Tabelle gemäß der bevorzugten Ausführungsform der
vorliegenden Erfindung; und
Fig. 3 ist ein Flussdiagramm der vom Indexberater
ausgeführten Schritte und der gespeicherten Prozedur gemäß
der bevorzugten Ausführungsform der vorliegenden Erfindung.
In der folgenden Beschreibung der bevorzugten
Ausführungsform wird auf die beigefügten Zeichnungen Bezug
genommen, die Bestandteil des vorliegenden Dokuments sind
und in denen exemplarisch eine spezielle Ausführungsform
beschrieben wird, in der die Erfindung realisiert werden
kann. Selbstverständlich können auch andere
Ausführungsformen verwendet werden, und es können
strukturelle und funktionale Änderungen vorgenommen werden,
ohne den Schutzumfang der vorliegenden Information zu
verlassen.
Ein relationales Datenbankverwaltungssystem (RDBMS) enthält
einen "Indexberater", der eine optimale Indexkonfiguration
zur Verwendung bei der Ausführung von Operationen in einer
vom RDBMS verwalteten relationalen Datenbank angibt. Wenn
aber ein lokales RDBMS Operationen in einer fernen
relationalen Datenbank, die von einem fernen RDBMS verwaltet
wird, ausführen soll, benötigt der Indexberater
Informationen aus dem fernen RDBMS. Die vorliegende
Erfindung bietet einen Mechanismus für das lokale RDBMS, mit
dem es solche Informationen mit Hilfe einer vom fernen RDBMS
ausgeführten gespeicherten Prozedur aus dem fernen RDBMS
abrufen kann.
Fig. 1 ist ein Blockdiagramm, in dem eine exemplarische
Hardware-Umgebung dargestellt ist, in der die bevorzugte
Ausführungsform der Erfindung implementiert ist. In der
exemplarischen Hardware-Umgebung ist eine Client/Server-
Architektur dargestellt, die aus einem Server (d. h. einem
fernen Computer) 102 und einem damit verbundenen Client
(d. h. einem lokalen Computer) 100 besteht. Sowohl der
Client-Computer 100 als auch der Server-Computer 102 können
u. a. Prozessoren, Arbeitsspeicher (RAM), Festwertspeicher
(ROM), Tastatur, Bildschirm, fest eingebaute und/oder
herausnehmbare Datenspeichervorrichtungen und
Datenübertragungsvorrichtungen besitzen. Dem Fachmann ist
klar, dass in Verbindung mit dem Client-Computer 100 und dem
Server-Computer 102 jegliche Kombination der genannten
Komponenten oder jegliche Anzahl verschiedener Komponenten,
Peripheriegeräten und anderer Vorrichtungen Verwendung
finden kann. Ferner ist dem Fachmann klar, dass die
vorliegende Erfindung nicht nur in einem Computernetzwerk,
sondern auch auf einem Einzelcomputer implementiert werden
kann.
In dem in Fig. 1 dargestellten Beispiel verwaltet ein
Client-RDBMS (d. h. ein lokales RDBMS) 104, das vom Client-
Computer 100 ausgeführt wird, eine (lokale) relationale
Datenbank 106, die auf dem Client-Computer 100 gespeichert
ist. Entsprechend verwaltet ein Server-RDBMS (d. h. ein
fernes RDBMS) 108, das vom Server-Computer 102 ausgeführt
wird, ein (fernes) relationales Datenbanksystem 110, das auf
dem Server-Computer 102 gespeichert ist. Ferner arbeiten das
Client-RDBMS 104 und das Server-RDBMS 108 so zusammen, dass
jedes System Daten und/oder Abfragen des anderen Systems
benutzen kann. In der bevorzugten Ausführungsform der
vorliegenden Erfindung umfasst das RDBMS 104, 108 die
Datenbank DataBase 2 (DB2™), ein Produkt der IBM
Corporation. Dem Fachmann ist aber klar, dass die
vorliegende Erfindung auf jedes RDBMS und auch auf viele
andere Datenbankverwaltungssysteme Anwendung finden kann.
In der Regel umfasst das RDBMS 104, 108 eine Logik und/oder
Daten, die in einer Vorrichtung, auf einem Medium oder einem
Träger, z. B. einem fest eingebauten oder herausnehmbaren
Datenspeicher, einer durch eine Übertragungsvorrichtung
verbundenen fernen Vorrichtung usw. verkörpert oder dadurch
zugänglich sind. Ferner bewirken diese Logik und/oder Daten,
wenn sie vom Computer gelesen, ausgeführt und/oder
interpretiert werden, dass der Computer die zur
Implementierung und/oder Verwendung der vorliegenden
Erfindung notwendigen Schritte ausführt.
Die vorliegende Erfindung kann also als Verfahren,
Vorrichtung oder Herstellungsartikel mit
Standardprogrammierungsverfahren und/oder üblichen Verfahren
zur Herstellung von Software, Firmware, Hardware oder einer
Kombination daraus implementiert werden. Der Begriff
"Herstellungsartikel" oder alternativ
"Computerprogrammträger" soll im vorliegenden Dokument Logik
oder Instruktionen, die von einer vom Computer lesbaren
Vorrichtung, einem Träger oder Speichermedium aus zugänglich
sind, bezeichnen.
Der Fachmann kann sich natürlich viele Abwandlungen dieser
Konfiguration vorstellen, ohne den Schutzumfang der
vorliegenden Erfindung zu überschreiten. Dem Fachmann
leuchtet beispielsweise ein, dass jede Kombination der
genannten Komponenten oder jede Anzahl verschiedener
Komponenten einschließlich verschiedener Computerprogramme,
Peripheriegeräte und sonstiger Vorrichtungen zur
Implementierung der vorliegenden Erfindung verwendet werden
kann, solange dadurch ähnliche Funktionen ausgeführt werden.
In der vorliegenden Erfindung enthält das Client-RDBMS 104
einen Indexberater 112, der einem Benutzer eine Empfehlung
zur optimalen Indexkonfiguration für einen bezeichneten Satz
von SQL-Anweisungen erteilt. Der Indexberater 112 bietet
eine grafische Benutzerschnittstelle (GUI) und arbeitet als
"Assistent", so wie dieser Begriff in der Computerbranche
verwendet wird. Bei der Verwendung des Indexberaters 112
wird der bezeichnete Satz von SQL-Anweisungen als "Workload"
bezeichnet und in einer Workload-Tabelle 114 gespeichert.
Der Indexberater 112 analysiert die Workload in Verbindung
mit einem bezeichneten Satz von Zieltabellen 116, um eine
optimale Indexkonfiguration zu ermitteln.
Ein Problem taucht aber dann auf, wenn der Indexberater 112
des Client-RDBMS 104 mit Zieltabellen 118 verwendet wird,
die nicht in der vom Client-RDBMS 104 verwalteten lokalen
relationalen Datenbank, sondern in der fernen relationalen
Datenbank 110, die vom Server-RDBMS 108 verwaltet wird,
gespeichert sind. Nach dem Stand der Technik konnte ein vom
Client-RDBMS 104 ausgeführter Indexberater 112 bei
Zieltabellen 118 in der fernen relationalen Datenbank 110
des Server-RDBMS 108 nicht funktionieren. Die vorliegende
Erfindung hingegen bietet eine Lösung für dieses Problem,
indem die notwendigen Informationen vom Server-RDBMS 108 an
das Client-RDBMS 104 übermittelt werden, so dass der
Indexberater 112 des Client-RDBMS 104 eine Liste von
Empfehlungen für Indexkonfigurationen auf dem Server-RDBMS
108 anbieten kann.
Gemäß der bevorzugten Ausführungsform führt der Indexberater
112 des Client-RDBMS 104 einen Benutzer durch die folgenden
Schritte.
- 1. Einführung - Dieser Schritt führt den Benutzer in den Indexberater 112 ein, indem Text angezeigt wird und die Namen der relationalen Datenbanken 106, 110 aufgelistet werden.
- 2. Workload - In diesem Schritt kann der Benutzer Informationen zu einer "Workload" angeben. Eine Workload umfasst in der Regel mindestens eine SQL-Anweisung und oft einen Satz zusammengehöriger SQL-Anweisungen. Als Unterfunktionen dieses Schrittes kann der Benutzer eine bereits existierende Workload auswählen, eine neue erstellen, den Inhalt einer Workload verändern, eine Workload erfassen usw.
- 3. Grenzen - In diesem Schritt kann der Benutzer Informationen über Grenzen für die ausgewählte Workload angeben. In der Regel gibt es Grenzen für den Speicherplatz, der für die Indizierung zur Verfügung gestellt werden soll, für die maximale Dauer der Berechnungen usw. Dem Fachmann ist klar, dass in diesem Schritt beliebig viele verschiedene Grenzen angegeben werden können.
- 4. Ziele definieren - In diesem Schritt kann der Benutzer das gewünschte RDBMS 104, 108 angeben, wo der Indexberater 112 seine Funktionen mit Hilfe der Tabellen 116, 118 ausführen kann. Der Benutzer kann die Zieltabellen 116, 118 erstellen, indem er Informationen aus dem RDBMS 104, 108, für das Indexempfehlungen gewünscht werden, extrahiert, oder indem er die vorhandenen Zieltabellen 116, 118 verwendet, falls diese bereits erstellt worden sind. Wenn der Indexberater 112 des Client-RDBMS 104 Zieltabellen 118 in der fernen relationalen Datenbank 110 des Server-RDBMS 108 identifiziert, muss eine Workload vom Server 108 abgerufen werden, und als Resultat wird eine gespeicherte Prozedur 120 im Server RDBMS 108 gestartet, um die notwendigen Informationen für den Indexberater 112 abzurufen. Normalerweise erstellt diese gespeicherte Prozedur 120 auf dem Server-RDBMS 108 eine Workload-Tabelle 122 und speichert dann die SQL-Anweisungen der Workload in der Workloadtabelle 122. Oft werden diese SQL-Anweisungen aus einem vom Server- RDBMS 108 verwalteten Cache abgerufen.
Dann kann der Indexberater 112 SELECT-Anweisungen an der
Workload-Tabelle 122 auf dem Server-RDBMS 108 ausführen, und
er führt INSERT-Anweisungen aus, um Daten in die Workload-
Tabelle 114 auf dem Client-RDBMS 106 zu kopieren, wo sie vom
Indexberater 112 benutzt werden können.
Ferner kann der Indexberater 112 danach SELECT-Anweisungen
an einem Katalog in der fernen relationalen Datenbank 110
auf dem Server-RDBMS 108 ausführen, um SQL-Anweisungen zu
erstellen, die die Umgebung neu erstellen, die der
Indexberater 112 benötigt, um seine Funktionen auf dem
Client-RDBMS 104 auszuführen. Wie im folgenden zu sehen sein
wird, werden mehrere verschiedene Typen von SQL-Anweisungen
generiert.
Zuerst prüft die gespeicherte Prozedur 120 die vom Server-
RDBMS 108 verwaltete ferne relationale Datenbank 110, um
CREATE TABLE- CREATE INDEX- und CREATE VIEW-Anweisungen zu
generieren, die dann auf dem Client-RDBMS 104 ausgeführt
werden. Diese Anweisungen erstellen in der vom Client-RDBMS
104 verwalteten lokalen relationalen Datenbank 106
Zieltabellen 116, die den Zieltabellen 118 in der vom
Server-RDBMS 108 verwalteten fernen relationalen Datenbank
110 gleichen. Es sei darauf hingewiesen, dass die CREATE-
Anweisungen die Struktur der Zieltabellen 118 aus der vom
Server-RDBMS 108 verwalteten fernen relationalen Datenbank
110 in die Zieltabellen in der vom Client-RDBMS 104
verwalteten lokalen relationalen Datenbank 106 kopieren,
ohne dass die eigentlichen Daten der Zieltabellen 118
kopiert werden. Zweitens kann der Indexberater 112 SELECT-
Anweisungen an das Server-RDBMS 110 erteilen, die
Statistiken im Katalog des Server-RDBMS 108 prüfen und
UPDATE-Anweisungen generieren, die dann im Client-RDBMS 104
ausgeführt werden. Die UPDATE-Anweisungen kopieren
Statistiken im Katalog des Server-RDBMS 108, um Statistiken
im Katalog des Client-RDBMS 108 zu aktualisieren.
Es ist zu beachten, dass die gespeicherte Prozedur 120
sowohl die Struktur als auch die Daten der ausgewählten
Workload-Tabelle 122 aus der vom Server-RDBMS 108
verwalteten fernen relationalen Datenbank 110 in die
Workload-Tabelle 114 in der vom Client-RDBMS 104 verwalteten
lokalen relationalen Datenbank 106 kopiert.
Schließlich kann der Indexberater 112 auch einige der
Betriebs- oder Umgebungsparameter der lokalen relationalen
Datenbank 106 und/oder des Client-RDBMS 104 ändern, so dass
sie besser zu der fernen relationalen Datenbank 110 und dem
Server-RDBMS 108 passen.
- 1. Berechnen - In diesem Schritt wird die eigentliche Funktion des Indexberaters 112 ausgeführt. Anhand der vom Benutzer angegebenen und aus den Zieltabellen 116, 118 ausgelesenen Informationen führt der Indexberater 112 Berechnungen in mehreren Durchgängen aus, wobei er die Workload-Tabellen 114, 122 benutzt, um mindestens eine Indexkonfigurationsempfehlung für die Zieltabellen 116, 118 vorzuschlagen. Diese in mehreren Durchgängen ausgeführten Berechnungen werden im Folgenden ausführlicher beschrieben.
In Durchgang 1 werden alle Indizes generiert. Für jede in
der Workload angegebene SQL-Anweisung wird eine spezielle
EXPLAIN-Operation ausgeführt, in der angefordert wird, dass
ein Optimierer des RDBMS 104, 108 alle interessanten
Indexkonfigurationen generiert, die für die Workload
möglicherweise gewünscht werden. Nach der EXPLAIN-Operation
bestehen die Ergebnisse aus einer Liste der Indizes, die von
dieser Anweisung benutzt werden können, sowie einer Angabe
der geschätzten Kosten für diese Anweisung. Wenn alle
Indizes verarbeitet worden sind, verfügt die
Berechnungsfunktion über eine Liste aller gewünschten
Indizes. Außerdem werden die geschätzten Kosten für jede
SQL-Anweisung mit der Gewichtung (WEIGHT) dieser SQL-
Anweisung multipliziert, um die Gesamt-Workload-Kosten für
diesen Durchgang zu berechnen.
Zwischen den Durchgängen prüft der Berechnungsschritt den
Satz verfügbarer Indizes, die vom Benutzer festgelegten
Grenzen und die Workload-Kostenabschätzung. Dann wird
festgestellt, ob ein weiterer Durchgang stattfinden soll,
oder ob die Berechnung abgeschlossen ist. Falls ein weiterer
Durchgang erforderlich ist, prüft der Berechnungsschritt
jeden der kompletten Sätze von tatsächlichen und gewünschten
Indizes und versieht sie mit einer Markierung, ob sie im
nächsten Durchgang berücksichtigt werden sollten.
In einem weiteren Durchgang N betrachtet der
Berechnungsschritt die spezielle Teilmenge der Indizes. Für
jede SQL-Anweisung wird eine spezielle EXPLAIN-Operation
ausgeführt, in der der Optimierer des RDBMS 104, 106
aufgefordert wird, die "markierten" Indizes bei der
Zugriffspfadauswahl zu berücksichtigen. Nach der EXPLAIN-
Operation bestehen die Ergebnisse aus einer Liste der
Indizes, die tatsächlich benutzt wurden, sowie einer Angabe
der geschätzten Kosten für diese Anweisung. Im
Berechnungsschritt werden die geschätzten Kosten für jede
SQL-Anweisung mit der Gewichtung für die betreffende SQL-
Anweisung multipliziert, um die Gesamt-Workload-Kosten bei
Verwendung der markierten Indizes zu berechnen. An dieser
Stelle verzweigt der Berechnungsschritt zurück zu der Logik
für die Verarbeitung "zwischen den Durchgängen" und stellt
fest, ob der Schritt abgeschlossen ist, oder ob ein weiterer
Durchgang N ausgeführt wird.
Der Berechnungsschritt kann eine Option zur sofortigen
Durchführung der Berechnungen oder zur Planung der
Berechnungen für eine spätere Ausführung enthalten. Ferner
kann es eine Option zur Festlegung eines Zeitlimits für den
Berechnungsschritt beim Versuch, die optimale
Indexkonfiguration zu bestimmen, geben.
- 1. Empfehlungen - Dieser Schritt zeigt die Ausgabeergebnisse der Berechnungen an. In der bevorzugten Ausführungsform zeigt der Indexberater 112 eine Liste mit einer oder mehreren Empfehlungen zur Indexkonfiguration für die Zieltabellen 116, 118 an. Optional ermöglicht der Indexberater 112 dem Benutzer die Auswahl einer oder mehrerer Empfehlungen aus der angezeigten Liste und die Erstellung der ausgewählten Indizes.
- 2. Löschen - Dieser Schritt zeigt ebenfalls die Ausgabeergebnisse der Berechnungen an. Allerdings wird hier keine Liste von Empfehlungen zur Erstellung von Indizes für die Zieltabellen 116, 118 angezeigt, sondern der Indexberater 112 zeigt eine Liste mit einer oder mehreren Empfehlungen zum Löschen von Indizes an. Anschließend ermöglicht der Indexberater 112 dem Benutzer die Auswahl einer oder mehrerer Konfigurationen aus der angezeigten Liste und löscht dann die ausgewählten Indizes.
- 3. Zusammenfassung - Dieser Schritt zeigt auch ein Skript an, das aus den vorhergehenden Schritten generiert wurde. Das Skript besteht aus den SQL-Anweisungen, die empfohlen und in den vorhergehenden Schritten vom Benutzer ausgewählt worden sind. Der Benutzer kann dieses Skript ausführen oder speichern.
In Fig. 2 ist die Struktur der Workload-Tabellen 114, 122
gemäß der bevorzugten Ausführungsform der vorliegenden
Erfindung dargestellt. Wie bereits erwähnt modelliert die
Workload-Funktion von Schritt 2 mindestens eine SQL-
Anweisung. In der bevorzugten Ausführungsform wird dieses
Modell in einer Workload-Tabelle 114, 122 in den
relationalen Datenbanken 106, 110 gespeichert. Dabei
enthalten die Workload-Tabellen 114, 122 folgende Spalten:
WORKLOAD-NAME ZEICHEN (128) NICHT NULL (200) - Name der Workload.
STATEMENT-TEXT CLOB 64K NICHT NULL NICHT PROTOKOLLIERT (202) - SQL-Anweisung(en) für diese Workload.
STATEMENT-TAG ZEICHEN (256) (204) - Ein beliebiger Name für diese SQL-Anweisung.
HÄUFIGKEIT GANZZAHLIG NICHT NULL (206) - Eine Häufigkeit für die SQL-Anweisung, die zur Gewichtung für diese SQL- Anweisung beiträgt.
WICHTIGKEIT REAL NICHT NULL (208) - Eine Wichtigkeit für die SQL-Anweisung, die ebenfalls zur Gewichtung für diese SQL- Anweisung beiträgt.
GEWICHTUNG REAL NICHT NULL (210) - Eine Gewichtung für die SQL-Anweisung; dabei handelt es sich um ein Produkt aus der Häufigkeit und der Wichtigkeit (d. h. FREQUENCY * IMPORTANCE).
WORKLOAD-NAME ZEICHEN (128) NICHT NULL (200) - Name der Workload.
STATEMENT-TEXT CLOB 64K NICHT NULL NICHT PROTOKOLLIERT (202) - SQL-Anweisung(en) für diese Workload.
STATEMENT-TAG ZEICHEN (256) (204) - Ein beliebiger Name für diese SQL-Anweisung.
HÄUFIGKEIT GANZZAHLIG NICHT NULL (206) - Eine Häufigkeit für die SQL-Anweisung, die zur Gewichtung für diese SQL- Anweisung beiträgt.
WICHTIGKEIT REAL NICHT NULL (208) - Eine Wichtigkeit für die SQL-Anweisung, die ebenfalls zur Gewichtung für diese SQL- Anweisung beiträgt.
GEWICHTUNG REAL NICHT NULL (210) - Eine Gewichtung für die SQL-Anweisung; dabei handelt es sich um ein Produkt aus der Häufigkeit und der Wichtigkeit (d. h. FREQUENCY * IMPORTANCE).
Fig. 3 ist ein Flussdiagramm der Logik, die in der
bevorzugten Ausführungsform der vorliegenden Erfindung
abläuft.
Block 300 zeigt, wie der Indexberater 112 den
Einführungsschritt ausführt, indem er Text anzeigt und die
Namen der relationalen Datenbanken 106, 110 auflistet.
Block 302 zeigt, wie der Indexberater 112 den Workload-
Schritt ausführt, indem er dem Benutzer die Möglichkeit
gibt, Informationen über eine Workload anzugeben.
Block 304 zeigt, wie der Indexberater 112 den Grenzenschritt
ausführt, indem er dem Benutzer die Möglichkeit gibt,
Informationen über Grenzen der ausgewählten Workload
anzugeben.
Block 306 zeigt, wie der Indexberater 112 den
Zieldefinitionsschritt ausführt, indem er dem Benutzer die
Möglichkeit gibt, die Zieltabellen 116, 118 anzugeben, wo
die eigentliche Abfrage ausgeführt wird.
Block 308 ist ein Entscheidungsblock, der zeigt, wie der
Indexberater 112 feststellt, ob die Workload sich auf einem
fernen System, d. h. auf dem Server-RDBMS 108, befindet. Wenn
dies der Fall ist, geht es mit Block 310 weiter, andernfalls
mit Block 320.
Block 310 zeigt, wie der Indexberater 112 die gespeicherte
Prozedur 120 auf dem Server-RDBMS 108 aufruft, um auf dem
Server-Computer 102 eine Workload-Tabelle 122 zu erstellen,
indem er dynamische SQL-Anweisungen aus einem Cache im
Server-RDBMS 108 speichert.
Block 312 zeigt, wie die gespeicherte Prozedur 120 die
Anweisungen CREATE TABLE, CREATE INDEX und CREATE VIEW zum
Erstellen der lokalen Zieltabellen 116 generiert, indem sie
die vom Server-RDBMS 108 verwaltete ferne relationale
Datenbank 110 prüft.
Block 314 zeigt, wie die gespeicherte Prozedur 120 UPDATE-
Anweisungen generiert, um die Statistiken im Client-RDBMS
104 zu aktualisieren. Dazu prüft die Prozedur die
Statistiken im Katalog der vom Server-RDBMS 108 verwalteten
relationalen Datenbank 110.
Block 316 zeigt, wie die gespeicherte Prozedur 120 auf dem
Server-RDBMS 108 die Workload-Tabelle 122 von der vom
Server-RDBMS 108 verwalteten fernen relationalen Datenbank
110 in die Workload-Tabelle 114 in der vom Client-RDBMS 104
verwalteten lokalen relationalen Datenbank kopiert.
Block 318 zeigt, wie die gespeicherte Prozedur 120 auf dem
Server-RDBMS 108 einige der Betriebs- oder
Umgebungsparameter der lokalen relationalen Datenbank 106
und/oder des Client-RDBMS 104 ändert, so dass sie besser zur
fernen relationalen Datenbank 110 und zum Server-RDBMS 108
passen.
Block 320 zeigt, wie der Indexberater 112 den
Berechnungsschritt ausführt, um Empfehlungen zur
Indexkonfiguration für die ausgewählten Zieltabellen 116,
118 zu geben.
Block 322 zeigt, wie der Indexberater 112 den
Empfehlungsschritt ausführt, um die Ausgabeergebnisse der
Berechnungen anzuzeigen.
Block 324 zeigt, wie der Indexberater 112 den Löschschritt
ausführt, indem er Ausgabeergebnisse der Berechnungen
anzeigt.
Schließlich zeigt Block 326, wie der Indexberater 112 den
Zusammenfassungsschritt ausführt, indem er ein Skript
ausführt, das aus den vorhergehenden Schritten generiert
wurde.
Damit ist die Beschreibung der bevorzugten Ausführungsform
der Erfindung abgeschlossen. Im folgenden werden einige
alternative Ausführungsformen zur Realisierung der
vorliegenden Erfindung beschrieben. So kann beispielsweise
ein beliebiger Computertyp wie z. B. ein Großrechner, ein
Minicomputer oder ein PC in Verbindung mit der Erfindung
verwendet werden. Alternative Ausführungsformen können
andere Komponenten, andere Sprachen, andere Schritte oder
andere Sequenzen beinhalten. Außerdem können viele
Datenbankverwaltungssysteme von der vorliegenden Erfindung
profitieren.
Zusammenfassend lässt sich sagen, dass die vorliegende
Erfindung ein Verfahren, eine Vorrichtung und einen
Herstellungsartikel zur Ausführung eines Indexberaters, der
eine optimale Indexkonfiguration zur Verwendung bei der
Ausführung von Workloads in einer von einem
Datenbankverwaltungssystem verwalteten Datenbank offenbart.
Wenn die Datenbank und das Datenbanksystem sich nicht am
gleichen Ort befinden wie der Indexberater, ruft der
Indexberater eine gespeicherte Prozedur im
Datenbankverwaltungssystem auf, um Informationen zur
optimalen Indexkonfiguration zu erhalten.
Die obige Beschreibung der bevorzugten Ausführungsform der
Erfindung wurde zum Zweck der Illustration und Beschreibung
gegeben. Sie soll nicht vollständig sein oder die Erfindung
auf die beschriebene spezielle Form beschränken. Angesichts
der obigen Lehre sind zahlreiche Abwandlungen und
Variationen möglich. Der Schutzumfang der Erfindung soll
nicht durch diese ausführliche Beschreibung, sondern durch
die angefügten Ansprüche beschränkt werden.
Claims (24)
1. Eine auf einem Computer implementierte Vorrichtung zum
Zugriff auf eine Datenbank, umfassend:
- a) einen Computer; und
- b) einen vom Computer ausgeführten Indexberater zur Angabe einer optimalen Indexkonfiguration zur Verwendung bei der Ausführung einer Workload in einer von einem Datenbankverwaltungssystem verwalteten Datenbank, wobei die Datenbank und das Datenbankverwaltungssystem fern vom Indexberater ausgeführt werden und der Indexberater eine gespeicherte Prozedur im Datenbankverwaltungssystem aufruft, um Informationen zur optimalen Indexkonfiguration abzurufen.
2. Die Vorrichtung nach Anspruch 1, wobei der Indexberater
einem Benutzer die Möglichkeit gibt, Zieltabellen in
der Datenbank anzugeben, an denen die Workload
ausgeführt wird.
3. Die Vorrichtung nach Anspruch 1, wobei die Workload
mindestens eine SQL-Anweisung umfasst.
4. Die Vorrichtung nach Anspruch 3, wobei die SQL-
Anweisungen aus einem vom Datenbankverwaltungssystem
verwalteten Cache abgerufen werden.
5. Die Vorrichtung nach Anspruch 3, wobei die gespeicherte
Prozedur auf dem fernen Datenbankverwaltungssystem eine
Workload-Tabelle erstellt und dann die SQL-Anweisungen
in der Workload-Tabelle speichert.
6. Die Vorrichtung nach Anspruch 1, wobei die gespeicherte
Prozedur eine oder mehrere Funktionen aus der aus
folgenden Funktionen bestehenden Gruppe ausführt:
- 1. einer Funktion zum Erstellen von Zieltabellen in einer von einem lokalen Datenbankverwaltungssystem verwalteten Datenbank, die den Zieltabellen in der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank gleicht;
- 2. einer Funktion zum Prüfen von Statistiken im fernen Datenbankverwaltungssystem und Aktualisieren des Katalogs im lokalen Datenbankverwaltungssystem;
- 3. einer Funktion zum Kopieren der Workload-Tabelle aus der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank in die Workload-Tabelle in der vom lokalen Datenbankverwaltungssystem verwalteten lokalen Datenbank; und
- 4. einer Funktion zum Ändern eines oder mehrerer Betriebsparameter des lokalen Datenbankverwaltungssystems zum Angleichen an das ferne Datenbankverwaltungssystem.
7. Die Vorrichtung nach Anspruch 6, wobei die
Erstellungsfunktion (1) eine Funktion zum Kopieren
einer Struktur der Zieltabellen aus der fernen
Datenbank in die lokale Datenbank ohne Kopieren der
eigentlichen Daten in die Zieltabellen umfasst.
8. Die Vorrichtung nach Anspruch 6, wobei die
Kopierfunktion (3) eine Funktion zum Kopieren sowohl
der Struktur der Workload-Tabelle als auch der in der
Workload-Tabelle gespeicherten Daten aus der fernen
Datenbank in die lokale Datenbank umfasst.
9. Ein auf einem Computer implementiertes Verfahren zum
Zugriff auf eine Datenbank, umfassend:
- a) Ausführen eines Indexberaters in einem Computer, wobei der Indexberater eine optimale Indexkonfiguration zur Verwendung bei der Ausführung einer Workload in einer von einem Datenbankverwaltungssystem verwalteten Datenbank angibt, wobei die Datenbank und das Datenbankverwaltungssystem fern vom Indexberater ausgeführt werden und der Indexberater eine gespeicherte Prozedur im Datenbankverwaltungssystem aufruft, um Informationen zur optimalen Indexkonfiguration abzurufen.
10. Das Verfahren nach Anspruch 9, wobei der Indexberater
einem Benutzer die Möglichkeit gibt, Zieltabellen in
der Datenbank anzugeben, an denen die Workload
ausgeführt wird.
11. Das Verfahren nach Anspruch 9, wobei die Workload
mindestens eine SQL-Anweisung umfasst.
12. Das Verfahren nach Anspruch 11, wobei die SQL-
Anweisungen aus einem vom Datenbankverwaltungssystem
verwalteten Cache abgerufen werden.
13. Das Verfahren nach Anspruch 11, wobei die gespeicherte
Prozedur auf dem fernen Datenbankverwaltungssystem eine
Workload-Tabelle erstellt und dann die SQL-Anweisungen
in der Workload-Tabelle speichert.
14. Das Verfahren nach Anspruch 9, wobei die gespeicherte
Prozedur eine oder mehrere Funktionen aus der aus
folgenden Funktionen bestehenden Gruppe ausführt:
- 1. einer Funktion zum Erstellen von Zieltabellen in einer von einem lokalen Datenbankverwaltungssystem verwalteten Datenbank, die den Zieltabellen in der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank gleicht;
- 2. einer Funktion zum Prüfen von Statistiken im fernen Datenbankverwaltungssystem und Aktualisieren des Katalogs im lokalen Datenbankverwaltungssystem;
- 3. einer Funktion zum Kopieren der Workload-Tabelle aus der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank in die Workload-Tabelle in der vom lokalen Datenbankverwaltungssystem verwalteten lokalen Datenbank; und
- 4. einer Funktion zum Ändern eines oder mehrerer Betriebsparameter des lokalen Datenbankverwaltungssystems zum Angleichen an das ferne Datenbankverwaltungssystem.
15. Das Verfahren nach Anspruch 14, wobei die
Erstellungsfunktion (1) eine Funktion zum Kopieren
einer Struktur der Zieltabellen aus der fernen
Datenbank in die lokale Datenbank ohne Kopieren der
eigentlichen Daten in die Zieltabellen umfasst.
16. Das Verfahren nach Anspruch 14, wobei die
Kopierfunktion (3) eine Funktion zum Kopieren sowohl
der Struktur der Workload-Tabelle als auch der in der
Workload-Tabelle gespeicherten Daten aus der fernen
Datenbank in die lokale Datenbank umfasst.
17. Ein Herstellungsartikel, der die Logik zur Ausführung
eines Verfahrens zum Zugriff auf eine Datenbank
verkörpert, umfassend:
- a) Ausführen eines Indexberaters in einem Computer, wobei der Indexberater eine optimale Indexkonfiguration zur Verwendung bei der Ausführung einer Workload in einer von einem Datenbankverwaltungssystem verwalteten Datenbank angibt, wobei die Datenbank und das Datenbankverwaltungssystem fern vom Indexberater ausgeführt werden und der Indexberater eine gespeicherte Prozedur im Datenbankverwaltungssystem aufruft, um Informationen zur optimalen Indexkonfiguration abzurufen.
18. Das Verfahren nach Anspruch 17, wobei der Indexberater
einem Benutzer die Möglichkeit gibt, Zieltabellen in
der Datenbank anzugeben, an denen die Workload
ausgeführt wird.
19. Das Verfahren nach Anspruch 17, wobei die Workload
mindestens eine SQL-Anweisung umfasst.
20. Das Verfahren nach Anspruch 19, wobei die SQL-
Anweisungen aus einem vom Datenbankverwaltungssystem
verwalteten Cache abgerufen werden.
21. Das Verfahren nach Anspruch 19, wobei die gespeicherte
Prozedur auf dem fernen Datenbankverwaltungssystem eine
Workload-Tabelle erstellt und dann die SQL-Anweisungen
in der Workload-Tabelle speichert.
22. Das Verfahren nach Anspruch 17, wobei die gespeicherte
Prozedur eine oder mehrere Funktionen aus der aus
folgenden Funktionen bestehenden Gruppe ausführt:
- 1. einer Funktion zum Erstellen von Zieltabellen in einer von einem lokalen Datenbankverwaltungssystem verwalteten Datenbank, die den Zieltabellen in der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank gleicht;
- 2. einer Funktion zum Prüfen von Statistiken im fernen Datenbankverwaltungssystem und Aktualisieren des Katalogs im lokalen Datenbankverwaltungssystem;
- 3. einer Funktion zum Kopieren der Workload-Tabelle aus der vom fernen Datenbankverwaltungssystem verwalteten fernen Datenbank in die Workload-Tabelle in der vom lokalen Datenbankverwaltungssystem verwalteten lokalen Datenbank; und
- 4. einer Funktion zum Ändern eines oder mehrerer Betriebsparameter des lokalen Datenbankverwaltungssystems zum Angleichen an das ferne Datenbankverwaltungssystem.
23. Das Verfahren nach Anspruch 22, wobei die
Erstellungsfunktion (1) eine Funktion zum Kopieren
einer Struktur der Zieltabellen aus der fernen
Datenbank in die lokale Datenbank ohne Kopieren der
eigentlichen Daten in die Zieltabellen umfasst.
24. Das Verfahren nach Anspruch 22, wobei die
Kopierfunktion (3) eine Funktion zum Kopieren sowohl
der Struktur der Workload-Tabelle als auch der in der
Workload-Tabelle gespeicherten Daten aus der fernen
Datenbank in die lokale Datenbank umfasst.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/477,463 US6934701B1 (en) | 2000-01-04 | 2000-01-04 | Using a stored procedure to access index configuration data in a remote database management system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10063514A1 true DE10063514A1 (de) | 2001-11-22 |
Family
ID=23896010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10063514A Withdrawn DE10063514A1 (de) | 2000-01-04 | 2000-12-20 | Verwendung einer gespeicherten Prozedur zum Zugriff auf Indexkonfigurationsdaten in einem fernen Datenbankverwaltungssystem |
Country Status (2)
Country | Link |
---|---|
US (1) | US6934701B1 (de) |
DE (1) | DE10063514A1 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130841B1 (en) * | 2001-07-31 | 2006-10-31 | America Online, Inc. | Enabling a search for both local and remote electronic content |
US8825629B2 (en) * | 2003-09-06 | 2014-09-02 | Oracle International Corporation | Method for index tuning of a SQL statement, and index merging for a multi-statement SQL workload, using a cost-based relational query optimizer |
US7406477B2 (en) * | 2004-03-12 | 2008-07-29 | Sybase, Inc. | Database system with methodology for automated determination and selection of optimal indexes |
US7873606B2 (en) * | 2004-08-24 | 2011-01-18 | Oracle International Corporation | Advisor framework, systems, methods and software for implementing the same |
US20070038662A1 (en) * | 2005-08-04 | 2007-02-15 | Peter Bendel | Method and system for managing external routines in a database management system |
US8204898B2 (en) * | 2007-02-02 | 2012-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-site common directory and method for using the multi-site common directory |
US8990169B2 (en) * | 2007-08-31 | 2015-03-24 | International Business Machines Corporation | Statistics collection for database tables |
US8458167B2 (en) * | 2009-04-01 | 2013-06-04 | International Business Machines Corporation | Client-based index advisor |
US8161017B2 (en) * | 2009-04-03 | 2012-04-17 | International Business Machines Corporation | Enhanced identification of relevant database indices |
US8499001B1 (en) | 2009-11-25 | 2013-07-30 | Quest Software, Inc. | Systems and methods for index selection in collections of data |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539427A (en) | 1992-02-10 | 1996-07-23 | Compaq Computer Corporation | Graphic indexing system |
US5583763A (en) | 1993-09-09 | 1996-12-10 | Mni Interactive | Method and apparatus for recommending selections based on preferences in a multi-user system |
US5483651A (en) | 1993-12-03 | 1996-01-09 | Millennium Software | Generating a dynamic index for a file of user creatable cells |
JP3573501B2 (ja) | 1994-10-11 | 2004-10-06 | 富士通株式会社 | 索引作成装置 |
CA2176165A1 (en) | 1995-05-19 | 1996-11-20 | Hosagrahar Visvesvaraya Jagadish | Method for querying incrementally maintained transactional databases |
US5913206A (en) * | 1997-08-15 | 1999-06-15 | Microsoft Corporation | Database system multi-column index selection for a workload |
US6321235B1 (en) * | 1998-09-29 | 2001-11-20 | International Business Machines Corporation | Global caching and sharing of SQL statements in a heterogeneous application environment |
US6321218B1 (en) * | 1999-02-24 | 2001-11-20 | Oracle Corporation | Automatically determining data that is best suited for index tuning |
-
2000
- 2000-01-04 US US09/477,463 patent/US6934701B1/en not_active Expired - Fee Related
- 2000-12-20 DE DE10063514A patent/DE10063514A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US6934701B1 (en) | 2005-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69126795T2 (de) | Dateienverwaltungssystem mit graphischer benutzerschnittstelle zum aufstellen von fragen | |
EP1088280B1 (de) | Verfahren und system zur schnellen speicherresidenten verarbeitung von transaktionsdaten | |
DE69232542T2 (de) | Definitionsänderungssprache für ein Datenbankrechnersystem | |
DE3855706T2 (de) | Automatisierte Rechnung von Materialien | |
DE69615230T2 (de) | Relationales Datenbanksystem und Verfahren mit grosser Verfügbarkeit der Daten bei der Umstrukturierung von Tabellendaten | |
DE69329265T2 (de) | Graphischer Datenbankzugriff | |
DE69615231T2 (de) | Relationales Datenbanksystem und Verfahren mit grosser Kompilierverfügbarkeit von SQL-Programmen | |
DE69904588T2 (de) | Datenbankzugangswerkzeug | |
DE60022152T2 (de) | Parallele optimierte Ereignisauslösung in parallelen Datenbanksystemen | |
DE69408337T2 (de) | Steuersystem einer relationellen datenbank gemäss einer objekt-orientierten logik, die die zugriffe auf die datenbank verringert, und entsprechendes verfahren | |
DE3855756T2 (de) | Schnittstelle für Materialliste für CAD/CAM-Umgebung | |
DE69030282T2 (de) | Verfahren und Vorrichtung zur Erhaltung der funktionellen und organisatorischen Unversehrtheit einer relationalen Datenbasis in einem Datenverarbeitungssystem | |
DE60130475T2 (de) | Durchführung von kalkulationen eines tabellenkalkulationstyps in einem datenbanksystem | |
DE69736748T2 (de) | Editierumgebung für objektmodelle und verfahren zu deren anwendung | |
DE69229453T2 (de) | Verfahren und Anordnung zum Zugriff auf eine relationelle Datenbank, ohne eine objektorientierte Umgebung verlassen zu müssen | |
DE69022842T2 (de) | Verwendung von Befehlsähnlichkeiten in einem intelligenten Hilfssystem. | |
DE69910219T2 (de) | Transformation der perspektive auf tabellen von relationalen datenbanken | |
DE69112694T2 (de) | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. | |
DE202011110124U1 (de) | Hybridabfrageausführungsplan | |
DE10039537A1 (de) | Verbesserung der mehrdimensionalen Umstrukturierung beim Hinzufügen oder Entfernen von Dimensionen und Dimensionsmitgliedern | |
DE102013206281A1 (de) | Optimieren von zerstreuten schemalosen Daten in relationalen Speichern | |
DE602005002062T2 (de) | Optimierung der Sperrgranularität mittels Bereichssperren | |
DE10040987B4 (de) | Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken | |
DE102005028675A1 (de) | Aktualisierungs- und Transformationssystem für strukturierte Daten | |
WO2002021327A2 (de) | Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |