ORACLE DATENBANKOPTIMIERUNG (BASICS)

Größe: px
Ab Seite anzeigen:

Download "ORACLE DATENBANKOPTIMIERUNG (BASICS)"

Transkript

1 ORACLE DATENBANKOPTIMIERUNG (BASICS) INHALT 1 Motivation Automatische, regelmäßige DB-Optimierung Index-Rebuild Tabellen-Reorganisation Statistiken ermitteln Alles automatisiert Performance-Monitoring V$SESSION_LONGOPS V$SQL, V$SQL_AREA Performance-Tuning durch DB-Indizes Fremdschlüssel-Indizes Identifizierung anhand hoher Kosten bei SQL-Statements Zusammenfassung MOTIVATION In einem Kundenprojekt standen wir vor dem Problem, dass die Anwendung und scheinbar auch die Oracle-Datenbank-Instanz selber - über die Jahre immer langsamer geworden ist. Wir haben das Problem lange Zeit auf die ständig anwachsenden Datenmengen und mangelnde Optimierung in der Persistenzschicht der Applikation geschoben. Als ein externer Oracle-Berater dann einen Blick auf die Produktiv-Datenbank geworfen hat, wurden uns einige Nachlässigkeiten im Umgang mit der Datenbank aufgezeigt. Im Folgenden möchte ich die wesentlichen Punkte der Performance-Analyse und -Tunings kurz skizzieren. Dies ist sicherlich kein

2 Oracle-Optimierungs-Workshop für Fortgeschrittene ist, sondern vielmehr wird das Rüstzeug eines Anwendungsentwicklers beschrieben, der z.b. per JDBC-Treiber auf Oracle-Datenbanken zugreift. Desweiteren sollte man (ggf. mit Hilfe eines Oracle-Experten) ausfindig machen, ob der Datenbankserver selber richtig dimensioniert ist. Man kann mithilfe geeigneter SQL-Statements und Tools leicht herausfinden, ob es z.b. einen File-IO-Engpass auf dem DB-Server gibt oder einen Hauptspeichermangel. Wenn solche Mängel vorliegen, sollten natürlich auf der Hardware-Seite entsprechende Aufrüstungsmaßnahmen ergriffen werden. Die folgenden Aufgaben liegen teilweise in der Verantwortung des Datenbankadministrators und teilweise in der des Softwareentwicklers. 2 AUTOMATISCHE, REGELMÄßIGE DB-OPTIMIERUNG Der DB-Administrator sollte dafür sorgen, dass folgende Aufgaben regelmäßig ausgeführt werden: (Regelmäßig ist ein sehr relativer Begriff aber das hängt stark von den einzelnen Datenbanken, der Verfügbarkeit, der Anzahl Schreibzugriffe, etc. ab. Es schadet aber nicht, mindestens jede Woche, z.b. am Wochenende, oder auch jede Nacht, wenn weniger oder keine Last auf der DB herrscht, die Optimierungen automatisch durchführen zu lassen (z.b. per SQL mittels Cron-Job wahrscheinlich geht das auch mit Oracle-Administrationstools). 2.1 INDEX-REBUILD Durch Analyse der Systemtabelle USER_INDEXES und geeigneten SQL-Befehlen kann man herausfinden, welche Indices degeneriert sind und neu angelegt werden sollten aber auch, welche Indizes überflüssig sind. Index-Rebuild mittels: ALTER INDEX <IndexName> REBUILD; Es ist sinnvoll, alle Indizes in einem eigenen Tablespace zu speichern. Gleichzeitig mit einem Index- Rebuild kann man ggf. das Verschieben in den Tablespace INDX folgendermaßen durchführen: ALTER INDEX <IndexName> REBUILD TABLESPACE INDX; 2.2 TABELLEN-REORGANISATION Eine Defragmentierung von Tabellen durch deren Neuaufbau( Rebuild ) ist von Zeit zu Zeit durchzuführen: ALTER TABLE <TableName> MOVE TABLESPACE USERS; Verschiebt die Tabelle in einen anderen Tablespace und erstellt sie neu. Wenn der Tablespace derselbe ist wie zuvor, so wird die Tabelle lediglich reorganisiert (defragmentiert).

3 Eine Reorganisation einer Tabelle bzw. eines DB-Index wird empfohlen, wenn sich die Datenmenge durch viele INSERT oder DELETE-Statements oder Importe signifikant verändert hat! 2.3 STATISTIKEN ERMITTELN Oracle benötigt u.a. zur Optimierung von SQL-Abfragen aktuelle Statistiken über alle Tabellen und Indizes. Diese müssen regelmäßig ermittelt werden. Je nach Konfiguration der Datenbank werden die Statistiken automatisch neu erzeugt. Bei einem Datenbankimport geschieht das typischerweise auch automatisch. Ermittlung, wann zuletzt Statistiken über DB-Entitäten erhoben worden sind: SELECT owner, table_name, last_analyzed FROM dba_tab_statistics WHERE owner='application_xyz'; SELECT table_name, last_analyzed from dba_tables where Owner = 'APPLICATION_XYZ'; SELECT index_name, last_analyzed from dba_indexes where Owner = 'APPLICATION_XYZ'; EXIT; Manuelle Ermittlung der Statistiken: // internal DataDictionary-Stats: call dbms_stats.gather_fixed_objects_stats(); // System-Stats: call dbms_stats.gather_dictionary_stats(); // Perform object statistics for tables and indices CALL dbms_stats.gather_index_stats('<user>', '<IndexName>'); CALL dbms_stats.gather_table_stats('<user>', '<TableName>'); 2.4 ALLES AUTOMATISIERT Folgendes SQL-Skript erzeugt alle Statements, um sämtliche Indizes und Tabellen zu reorganisieren und alle Statistiken neu zu berechnen. Diese Statements können dann regelmäßig zum Beispiel jedes Wochenende - ausgeführt werden. SET PAGESIZE 0; SET LINESIZE 200; call dbms_stats.gather_dictionary_stats(); SPOOL tmp_oraclerebuildindices.sql SELECT 'ALTER INDEX ' owner '.' index_name ' REBUILD TABLESPACE INDX;' FROM dba_indexes WHERE Owner = 'APPLICATION_XYZ'; SPOOL OFF SPOOL tmp_oraclegatherindexstats.sql SELECT 'CALL dbms_stats.gather_index_stats(''compiere'', ''' index_name ''');' FROM dba_indexes WHERE Owner = 'APPLICATION_XYZ'; SPOOL OFF

4 SPOOL tmp_oracleanalyzeindices.sql SELECT 'ANALYZE INDEX ' owner '.' index_name ' COMPUTE STATISTICS;' FROM dba_indexes WHERE Owner = 'APPLICATION_XYZ'; SPOOL OFF SPOOL tmp_oraclegathertablestats.sql SELECT 'CALL dbms_stats.gather_table_stats(''compiere'', ''' table_name ''');' FROM dba_tables WHERE Owner = 'APPLICATION_XYZ'; SPOOL OFF exit; 3 PERFORMANCE-MONITORING Oracle besitzt mit den V$_-Views sogenannte Dynamic Performance Views. Sie enthalten dynamische Informationen zu laufenden und vergangenen SQL-Anfragen, DB-Sessions, und vielem mehr, die vom DB-Server automatisch ermittelt und bei Abfrage durch den SYSTEM-User aktualisiert werden. Wichtige Views sind z.b. V$SQL, V$SQLAREA, V$SESSION, V$SESSION_LONGOPS. 3.1 V$SESSION_LONGOPS Auflisten teurer, langlaufender Aktionen mit ihrem verursachten Aufwand und Laufzeit in der DB: select OPName, Target, Message, TOTALWORK, ELAPSED_SECONDS, START_TIME, Last_Update_Time from V$Session_LongOps where username='compiere' order by TOTALWORK desc Ergebnis z.b.: OPNAME MESSAGE TOTALWORK TARGET ELAPSED_SECONDS Table Scan COMPIERE.OCP_CRM_CORRESPONDENCE Table Scan: COMPIERE.OCP_CRM_CORRESPONDENCE: out of Blocks done Table Scan COMPIERE.PWORKITEMS Table Scan: COMPIERE.PWORKITEMS: out of Blocks done Table Scan COMPIERE.PBPEPROCESSINSTS Table Scan: COMPIERE.PBPEPROCESSINSTS: out of Blocks done Table Scan COMPIERE.M_TRANSACTION Table Scan: COMPIERE.M_TRANSACTION: out of Blocks done Massnahmen: Langlaufende Operationen oder teure Full Table Scans könnten auf fehlende oder nicht optimale DB-Indizes hindeuten. Eventuell kann man auch DB-Zugriffe in der Anwendung optimieren (weniger Daten holen, Cachings einbauen, etc.).

5 3.2 V$SQL, V$SQL_AREA Ermittlung der Ausführungsdauer von SQL-Abfragen (Top 10): select * from ( select sql_text,executions,cpu_time from v$sql where executions>0 order by cpu_time/executions desc )where rownum<10; Teure SQL-Statements auflisten: SELECT buffer_gets/(executions+1), executions, buffer_gets, sql_text FROM v$sqlarea WHERE buffer_gets/(executions+1) >= 20 ORDER BY 1 DESC Aufspüren unperformanter SQL-Befehle: Der folgende Befehl zeigt für die SQL-Befehle, die sich im SQL-Cache befinden, wie oft sie ausgeführt wurden und wie viele Blockzugriffe sie zur Abarbeitung benötigten. (BUFFER_GET = Blockzugriff = Lesen eines Speicherbereiches von der Harddisk in den Speicher relativ teure Operation) Außerdem wird die Trefferquote des Befehls im Datencache angezeigt. Damit lassen sich sehr schnell "schlecht optimierte" SQL-Befehle herausfinden. Trefferquoten kleiner 70% deuten regelmäßig darauf hin, dass eine Tabelle vollständig ohne Index-Zugriffe gelesen wird. Da die Statistik nur die Befehle anzeigt, die sich gerade im SQL-Cache befinden, muss die folgende Abfrage ggf. mehrfach täglich zu unterschiedlichen Zeitpunkten aufgerufen werden. SELECT TO_CHAR(EXECUTIONS, '999G999G990') "EXECUTIONS", TO_CHAR(BUFFER_GETS, '999G999G990') "GETS", TO_CHAR(BUFFER_GETS/GREATEST(NVL(EXECUTIONS,1),1), '999G999G990') "GETS_PER_EXEC", TO_CHAR (ROUND(100*(1-(DISK_READS/GREATEST(NVL(BUFFER_GETS,1),1))),2), '990D00') TREFFERQUOTE, SQL_TEXT FROM V$SQL WHERE BUFFER_GETS > 1000 ORDER BY BUFFER_GETS DESC Diese Query sollte man nach verschiedenen Spalten filtern/sortieren, um unterschiedliche Aussagen zu erhalten. Man kann sich z.b. SQL-Abfragen anzeigen lassen mit geringer Trefferquote ( WHERE TrefferQuote < 80 ), vielen IO-Zugriffen ( WHERE GETS_PER_EXEC > ), vielen Ausführungen ( WHERE EXECUTIONS > 100 ), etc. Beispielhafte Ergebnisse: EXECUTIONS GETS GETS_PER_EXEC TREFFERQUOTE SQL_TEXT

6 276 10,696,208 38, SELECT AD_User.AD_User_ID,NULL ,872,464 16, DELETE FROM OCE_ProdInvMovement WHERE ,859,686 16, DELETE FROM OCE_ProductionOrderLine WHERE 29 1,853,698 63, SELECT SUM(ol.LineNetAmt * (CASE WHEN... Where where Trefferquote < 80 : EXECUTIONS GETS GETS_PER_EXEC TREFFERQUOTE SQL_TEXT ,400 18, SELECT OCP_DAMDocument_ID, Name FROM ,666 19, select MovementType, MovementQty from ,048 20, SELECT l.oce_productionorder_id, ,580 18, SELECT COUNT(ROWNUM) FROM OCP_DAMDocument 7 127,050 18, SELECT OCP_DAMDocument_ID FROM... 4 PERFORMANCE-TUNING DURCH DB-INDIZES Bei der Implementierung von mehrschichtigen Java-Anwendungen und Verwendung von Persistenz- Frameworks (wie z.b. Hibernate) vergisst man leicht, dass datenbanknahe Optimierungen, wie die Einführung geeigneter Datenbank-Indizes, ein enormes Potential an Performanceverbesserung bieten. 4.1 FREMDSCHLÜSSEL-INDIZES Generell sollten eigentlich alle Fremdschlüssel einer Tabelle einen eigenen Index besitzen. Beispiel: CREATE TABLE department ( ); deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, dname VARCHAR2(14) CREATE TABLE employee ( empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY, ename VARCHAR2(10), deptno NUMBER(2) ); Anlegen eines Fremdschlüssel-Indizes: CREATE INDEX emp_deptno ON employee(deptno) TABLESPACE indx; 4.2 IDENTIFIZIERUNG ANHAND HOHER KOSTEN BEI SQL-STATEMENTS Ziel: Full Table Scans auf größere Tabellen sind möglichst zu vermeiden beispielsweise durch Einführen eines einen DB-Index.

7 Vorgehen: 1) Man identifiziert anhand der obigen Monitoring-Möglichkeiten ein SQL-Statement, welches teuer in der Ausführung ist und/oder sehr häufig ausgeführt wird. 2) Für dieses SQL-Statement lässt man einen Ausführungsplan erstellen (in vielen SQL- Tools und im Oracle SQL Developer möglich ; auf Kommandozeile mittels "explain plan..." oder Autotrace On ) Bsp.: Auf Kommandozeile: SQL> set autotrace on SQL> set linesize 200 SQL> SELECT <ColumnNames> FROM <TableName> JOIN <joins> WHERE <WhereClause>; 3) Für dieses SQL-Statement lässt man einen Ausführungsplan erstellen. Im Ausführungsplan kann man an den einzelnen Knoten die Kosten für die Teilstatements ablesen. Dort wo hohe Kosten sind, muss man optimieren. 4) Wenn dort "Table Access (Full)" steht, heißt das, dass kein (geeigneter) DB-Index zur Verfügung steht und ein Full Table Scan durchgeführt wird, was bei großen Tabellen immer sehr schlecht ist, da alle Zeilen der Tabelle durchsucht werden müssen! Diese Full Table Scans sollte man weitestgehend eliminieren, indem man passende Indices einführt. 5) Nach der Index-Erstellung sollte erneut ein Ausführungsplan erstellt werden, um zu überprüfen, dass der Index genutzt wird und ob er kostenmäßig etwas bringt. 6) Beispiele: Bsp. 1) Fremdschlüssel-Index Zu optimierendes SQL-Statement: SELECT SUM(HandlingTime) FROM M_InOut WHERE OCE_RP_DAY_ID= AND IsActive='Y'; --> Der Execution Plan zeigt einen Full Table Scan bei der M_InOut-Tabelle an. Index erstellt: create index M_InOut_Day on M_InOut(OCE_RP_DAY_ID); -- Index Statistics generieren: CALL dbms_stats.gather_index_stats('compiere', 'M_InOut_Day'); Anschließend lief der Befehl deutlich schneller und mit deutlich geringeren "Kosten" ab. Bsp. 2) Index für Spalten aus Where-Clause: Zu optimierendes SQL-Statement: SELECT SUM(OL.QTYORDERED) FROM C_ORDER O JOIN C_ORDERLINE OL ON O.C_ORDER_ID=OL.C_ORDER_ID LEFT OUTER JOIN M_INOUTLINE ML ON ML.C_ORDERLINE_ID=OL.C_ORDERLINE_ID LEFT OUTER JOIN M_INOUT M ON M.M_INOUT_ID=ML.M_INOUT_ID WHERE OL.M_PRODUCT_ID=415 AND o.ad_org_id= AND (o.docstatus='dr' OR o.docstatus='ip') AND (m.docstatus<>'co' OR m.docstatus IS NULL) AND o.issotrx='n' AND o.processed='n' AND o.c_doctypetarget_id NOT IN (SELECT C_DocType_ID FROM C_DocType WHERE Name='Supplier Claim')

8 AND ((ol.datepromised IS NULL AND ol.datedesired <= SysDate+20) OR (ol.datepromised IS NOT NULL AND ol.datepromised <= SysDate+20)) Execution Plan (vor der Optimierung): Id Operation Name Rows Bytes Cost (%CPU) Time 0 SELECT STATEMENT (6) 00:00:05 1 SORT AGGREGATE * 2 FILTER 3 NESTED LOOPS OUTER (6) 00:00:05 4 NESTED LOOPS OUTER (6) 00:00:05 * 5 HASH JOIN ANTI (6) 00:00:04 6 NESTED LOOPS (6) 00:00:04 * 7 TABLE ACCESS FULL C_ORDERLINE (6) 00:00:04 * 8 TABLE ACCESS BY INDEX ROWID C_ORDER (0) 00:00:01 * 9 INDEX UNIQUE SCAN C_ORDER_KEY 1 0 (0) 00:00:01 * 10 TABLE ACCESS FULL C_DOCTYPE (0) 00:00:01 11 TABLE ACCESS BY INDEX ROWID M_INOUTLINE (0) 00:00:01 * 12 INDEX RANGE SCAN M_INOUTLINE_ORDERLINE 1 1 (0) 00:00:01 13 TABLE ACCESS BY INDEX ROWID M_INOUT (0) 00:00:01 * 14 INDEX UNIQUE SCAN M_INOUT_KEY 1 0 (0) 00:00:01 Hier sieht man, dass die meisten Kosten (1105 von 1263) des SQL-Statements durch den Table Access Full auf die Tabelle C_ORDERLINE in Zeile 7 erzeugt werden. Dieser Zugriff sollte durch Einführen eines DB-Index optimiert werden. In diesem Bsp. Werden wir alle Spalten der gejointen Tabelle C_ORDERLINE in den Index aufnehmen, die in der Where-Bedingung abgefragt werden. Der zweite Table Access Full in Zeile 10 kann ignoriert werden, weil die Tabelle C_DOCTYPE sehr klein ist (wenige Zeilen enthält) und ein Full Table Scan kein Problem darstellt. Neuer DB-Index: create index C_ORDERLINE_QtyOrd on C_ORDERLINE(M_Product_ID, DatePromised, DateDesired); CALL dbms_stats.gather_index_stats('compiere', 'C_ORDERLINE_QtyOrd'); Execution Plan (nach erfolgreicher Optimierung): Id Operation Name Rows Bytes Cost (%CPU) Time 0 SELECT STATEMENT (1) 00:00:01 1 SORT AGGREGATE * 2 FILTER 3 NESTED LOOPS OUTER (1) 00:00:01 4 NESTED LOOPS OUTER (1) 00:00:01 * 5 HASH JOIN ANTI (1) 00:00:01 6 NESTED LOOPS (0) 00:00:01 * 7 TABLE ACCESS BY INDEX ROWID C_ORDERLINE (0) 00:00:01 * 8 INDEX RANGE SCAN C_ORDERLINE_QTYORD (0) 00:00:01 * 9 TABLE ACCESS BY INDEX ROWID C_ORDER (0) 00:00:01 * 10 INDEX UNIQUE SCAN C_ORDER_KEY 1 0 (0) 00:00:01 * 11 TABLE ACCESS FULL C_DOCTYPE (0) 00:00:01 12 TABLE ACCESS BY INDEX ROWID M_INOUTLINE (0) 00:00:01

9 * 13 INDEX RANGE SCAN M_INOUTLINE_ORDERLINE 1 1 (0) 00:00:01 14 TABLE ACCESS BY INDEX ROWID M_INOUT (0) 00:00:01 * 15 INDEX UNIQUE SCAN M_INOUT_KEY 1 0 (0) 00:00:01 7) Weitere Hinweise: Indices auf Spalten mit geringer Diversität (schwach selektiv) machen nicht so viel Sinn! (Bsp.: IsActive (Y N), State(a b c d), AD_Client_ID ( , ,...)) Bei Tabellen, auf denen viel geschrieben wird, sind Indices teuer, da diese permanent aktualisiert werden müssen. 5 ZUSAMMENFASSUNG Man sollte daran denken, Oracle s Statistiken regelmäßig zu aktualisieren sowohl interne Statistiken über die Systemtabellen als auch Statistiken über benutzerdefinierte Tabellen und Indizes. Mit veralteten Statistiken läuft man Gefahr, dass Oracle falsche SQL-Optimierungen vornimmt. Außerdem sollte man von Zeit zu Zeit Indizes rebuilden und Tabellen reorganisieren. Die meisten Performancegewinne erzielt man mit guten DB-Indizes. Diese erstellt man, indem man den Ausführungsplan (execution plan) von komplexen und/oder häufig auszuführenden SQL- Statements analysiert und nach Verursachern von hohen Kosten durchsucht. Außerdem sollten DB- Indizes in der Regel auf alle Fremdschlüssel angewendet werden.

Oracle Datenbank - Tuning

Oracle Datenbank - Tuning Oracle Datenbank - Tuning H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank Tuning / 1 Η. G.Hopf / 10.04.2003 Inhaltsverzeichnis Tuning Datenstruktur-Ebene SQL-Befehls-Ebene Anwendungsebene

Mehr

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index! 1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Erhöhung der Manageability durch SQL-Profile

Erhöhung der Manageability durch SQL-Profile Erhöhung der Manageability durch SQL-Profile Ein Erfahrungsbericht 20.11.2007 Dr. Frank Haney 1 Inhalt 1. Problemstellung 2. Der SQL-Tuning-Advisor (STA) 3. Anlegen und Implementieren von SQL-Profilen

Mehr

7 Die Reorganisation von DB2

7 Die Reorganisation von DB2 Ab und an sollte eine Tabelle reorganisiert werden. Besonders, nachdem größere Datenmengen eingefügt oder gelöscht wurden, muß über eine Reorganisation nachgedacht werden. Eine optimale Performance ist

Mehr

MySQL Performance Tuning für Entwickler

MySQL Performance Tuning für Entwickler MySQL Performance Tuning für Entwickler Cebit 2015, Hannover Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 18 FromDual GmbH Support Beratung remote-dba Schulung

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

Mehr

Enrico Genauck 37327 IN04

Enrico Genauck 37327 IN04 ANFRAGEOPTIMIERUNG IN ORACLE Enrico Genauck 37327 IN04 An!ageoptimierung in Oracle 1 ANFRAGEOPTIMIERUNG IN ORACLE Enrico Genauck 37323 IN04 Einleitung Die Optimierung einer Anfrage an eine relationale

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Eine Reise durch den PostgreSQL Optimizer

Eine Reise durch den PostgreSQL Optimizer 11. November 2011 Am Anfang steht SQL SQL = Structured Query Language Eigentlich ein Eigenname Standardisiert, stetige Weiterentwicklung (SQL99, SQL 2003, SQL 2008, SQL/MED) Deklarativ, Beschreibend KEIN(!)

Mehr

Johannes Ahrends CarajanDB GmbH. www.carajandb.com 2013 CarajanDB GmbH

Johannes Ahrends CarajanDB GmbH. www.carajandb.com 2013 CarajanDB GmbH Johannes Ahrends CarajanDB GmbH CarajanDB Warum ist eine Anwendung langsam? Beispiele von echten Performanceproblemen 2 Experten mit über 20 Jahren Oracle Erfahrung Firmensitz in Erftstadt bei Köln Spezialisten

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Analytische Funktionen erfolgreich eingesetzt

Analytische Funktionen erfolgreich eingesetzt Analytische Funktionen erfolgreich eingesetzt Dani Schnider Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Analytische Funktionen, SQL, Performance Optimierung, Data Warehousing Zusammenfassung Analytische

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung 3 Indizes 3.1 Indexarchitektur von SQL Server Die folgende Abbildung zeigt die Organisationsstruktur einer Tabelle. Eine Tabelle befindet sich in einer oder mehreren Partitionen, und jede Partition enthält

Mehr

Oracle Exadata Storage Server Performance erklärt SmartScan

Oracle Exadata Storage Server Performance erklärt SmartScan Products 31 Daniel Rey, OPITZ CONSULTING Schweiz GmbH Oracle Exadata Storage Server Performance erklärt SmartScan Im Herbst 2008 präsentierte Oracle an der OpenWorld den Exadata Storage Server und die

Mehr

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

IBM Informix Tuning und Monitoring

IBM Informix Tuning und Monitoring Seminarunterlage Version: 11.01 Copyright Version 11.01 vom 25. Juli 2012 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Indexing und Performance Tuning

Indexing und Performance Tuning Indexing und Performance Tuning Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig PostgreSQL Indexing - Jeder hat schon einmal ein Telefonbuch Benutzt - Jeder hat schon einmal Suchen durchgeführt CREATE

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Prof. Stefan Keller (Fach-)Hochschule für Technik Rapperswil (bei Zürich) 11.11.2011 PGConf.DE - Stefan Keller 1 Was ist OpenStreetMap? Wikipedia

Mehr

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 9 Sortiervorgänge. Universität Hannover. Sortiervorgänge. Migration. Konfiguration.

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 9 Sortiervorgänge. Universität Hannover. Sortiervorgänge. Migration. Konfiguration. Kurs Oracle 9i Einführung Performance Tuning Teil 9 Anhang Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 14 Seite 1 von 14 Agenda 1. Einführung 2. 3. 4. Der Sortiervorgang 5. 6. Statische Informationen

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Tipps & Tricks: Verbesserungen zum Thema Performance Tuning

Tipps & Tricks: Verbesserungen zum Thema Performance Tuning Tipps & Tricks: Verbesserungen zum Thema Performance Tuning Bereich: DBA, Tuning Erstellung: 02/2003 MP Versionsinfo: 9.2.0.8, 10.2.0.4, 11.1.0.6 Letzte Überarbeitung: 07/2009 MM Als PDF Downloaden! Verbesserungen

Mehr

IT-Symposium 2004. Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. www.decus.de 1

IT-Symposium 2004. Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. www.decus.de 1 Ralf Durben Business Unit Datenbank ORACLE Deutschland GmbH www.decus.de 1 Oracle Database 10g Diagnostik- und Taskmanagement Diagnostik Management Was passiert in der Datenbank, gibt es Probleme? Möglichst

Mehr

Manuelles Oracle SQL Tuning

Manuelles Oracle SQL Tuning Manuelles Oracle SQL Tuning Martin Decker ora-solutions.net D/A/CH Schlüsselworte Optimizer, SQL Tuning, Performance, Explain Plan, Hints, Einleitung Der Oracle Cost-Based Optimizer ist die zentrale Komponente

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Inhaltsverzeichnis. Installationsübersicht. A. Installationsübersicht

Inhaltsverzeichnis. Installationsübersicht. A. Installationsübersicht Inhaltsverzeichnis A. Installationsübersicht B. und Optimierungsbereiche B.1 Hardware B.2 OperatingSystem Z/OS B.3 Databasemanagementsystem DB2 B.4 Applikation C. Organisation BSS_Chart-library 1 Installationsübersicht

Mehr

SQL Server 2008 Performance-Optimierung

SQL Server 2008 Performance-Optimierung Holger Schmeling SQL Server 2008 Performance-Optimierung Das Praxisbuch für Entwickler und Administratoren ^ ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen Andrea Held Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken Partitionierung Komprimierung ILM Assistant Flashback Data Archive Empfehlungen 1 Datenwachstum Wachsende Kosten Schlechtere

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports

Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports Andreas Wismann WHEN OTHERS D-41564 Kaarst Schlüsselworte APEX 4.2, SQL, Tabular Forms, Classic Report, Interactive Report Einleitung "Darf

Mehr

Oracle Analytic Functions

Oracle Analytic Functions Mittwoch, 13.02.2008, 17:00 Uhr Regionaltreffen München/Südbayern Oracle Analytic Functions Seit Jahren auf dem Markt (8.1.6), jedoch unbekannt und selten im Einsatz S e i t e 1 Agenda Einsatzmöglichkeiten

Mehr

Art der Info: Technische Background Info Teil 3 (April 2002)

Art der Info: Technische Background Info Teil 3 (April 2002) Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek (patrick.malcherek@trivadis.com) Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

ANDREAS PROUZA. Wien, 2015-03-27. andreaspr@aon.at andreas@prouza.at. http://www.prouza.at

ANDREAS PROUZA. Wien, 2015-03-27. andreaspr@aon.at andreas@prouza.at. http://www.prouza.at DB2 & SQL E I N F Ü H R U N G T U N I N G O P T I M I E R U N G S E C R E T S ANDREAS PROUZA andreaspr@aon.at andreas@prouza.at http://www.prouza.at Wien, 2015-03-27 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis...

Mehr

SQL Injection Funktionsweise und Gegenmaßnahmen

SQL Injection Funktionsweise und Gegenmaßnahmen SQL Injection Funktionsweise und Gegenmaßnahmen EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 Problematik SQL-Injection

Mehr

MIPS-Aufrüstung vermeiden. BMC DB2-Mainview Usertreffen 2012 Hubertus Beucke

MIPS-Aufrüstung vermeiden. BMC DB2-Mainview Usertreffen 2012 Hubertus Beucke MIPS-Aufrüstung vermeiden BMC DB2-Mainview Usertreffen 2012 Hubertus Beucke Inhalt 1. Szenario 2. Arbeitsweise 2.1. Identifikation der Hauptverbraucher 2.2. Analyse der Hauptverbraucher 2.3. Tuningvorschlag

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/ Prüfungsnummer: 70-461-deutsch Prüfungsname: Querying Microsoft SQL Server 2012 Version: Demo http://zertifizierung-portal.de/ 1.Sie sind als Datenbankadministrator für das Unternehmen it-pruefungen tätig.

Mehr

Kurs. Teil 4 Shared Pool. Universität Hannover. Agenda. Überblick. Library Cache Oracle 9i Einführung Performance Tuning. Trefferquote.

Kurs. Teil 4 Shared Pool. Universität Hannover. Agenda. Überblick. Library Cache Oracle 9i Einführung Performance Tuning. Trefferquote. Kurs Oracle 9i Einführung Performance Tuning Teil 4 Shared Pool Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 22 Seite 1 von 22 1. 2. 3. SQL Area / 4. 5. 6. Shared Pool Reserved Area 7. Wiederverwendung

Mehr

Oracle Datenbank / Ubuntu

Oracle Datenbank / Ubuntu Oracle Datenbank / Ubuntu Sebastian Gath & Hannes Schwarz Seminar Database Tuning & Administration Universität Konstanz - SS 2007 Administration Vorbereitung Zeitmessung Erste Zeitmessung 2 Ausgangssituation

Mehr

PERFORMANCE TUNING: OVERVIEW

PERFORMANCE TUNING: OVERVIEW ORACLE TUNING TEIL 1 Einführung & Allgemeines PERFORMANCE TUNING: OVERVIEW Schematische Darstellung der wichtigsten Einflussfaktoren auf die Performance Sessions SQL Blockgröße Memory I/O Locks Performance

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

TOP 10 Monitoring SQL Befehle

TOP 10 Monitoring SQL Befehle TOP 10 Monitoring SQL Befehle Autor(en): Marco Patzwahl, MuniQSoft GmbH Viel Kunden haben schon mehr als 100 Datenbanken zu betreuen. Da kommt man ohne automatisierte Überwachungsskripte nicht sehr weit.

Mehr

Datenbanken und Oracle, Teil 2

Datenbanken und Oracle, Teil 2 Datenbanken und Oracle, Teil 2 Mathias Weyland Linux User Group Switzerland 29. Juni 2007 SQL*Plus CHAR/VARCHAR2 Dokumentation Teil I Nachträge 1 SQL*Plus 2 CHAR/VARCHAR2 3 Dokumentation SQL*Plus SQL*Plus

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Physische Datenbankdefinition in. Arthur Bauer

Physische Datenbankdefinition in. Arthur Bauer Physische Datenbankdefinition in Arthur Bauer Inhalt Cluster Index-Cluster Hash-Cluster Vor- und Nachteile Index-Organisierte Tabelle (IOT) Partitionierung STORAGE-Klausel in DDL Indexstrukturen Oracle

Mehr

Portierung einer DB2/VM-Datenbank nach DB2 unter zlinux 4 Jahre später - Wie würde ich heute vorgehen?

Portierung einer DB2/VM-Datenbank nach DB2 unter zlinux 4 Jahre später - Wie würde ich heute vorgehen? Portierung einer DB2/VM-Datenbank nach DB2 unter zlinux 4 Jahre später - Wie würde ich heute vorgehen? Tipps aus der Praxis zur Anwendungsentwicklung, Migration und Performanceuntersuchung 1 Einleitung

Mehr

Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author

Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur Subject New Features Oracle 9i Tuning Author Edo Bezemer Oracle Engineering Date August 2002 INHALTSVERZEICHNIS PERFORMANCE UND TUNING...3 TABELLEN ONLINE

Mehr

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Erste Schritte, um selber ConfigMgr Reports zu erstellen Thomas Kurth CONSULTANT/ MCSE Netree AG thomas.kurth@netree.ch netecm.ch/blog @ ThomasKurth_CH Erste Schritte, um selber ConfigMgr Reports zu erstellen Configuration Manager Ziel Jeder soll nach dieser

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Stichwortverzeichnis. Iron Werther. Business Intelligence

Stichwortverzeichnis. Iron Werther. Business Intelligence Stichwortverzeichnis Iron Werther Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops. Inkl. Testdatenbank mit über zwei Millionen Datensätzen ISBN (Buch): 978-3-446-43580-3 ISBN

Mehr

Datawarehouses, Materialized Views, Materialized View Logs, Query Rewrite

Datawarehouses, Materialized Views, Materialized View Logs, Query Rewrite Betrifft DWH1: Materialized Views für Data-Warehouses Art der Info Technische Info, Oracle8i Quelle Aus dem AI8-EF Kurs der Trivadis (Enterprise Features) Autor Andri Kisseleff (andri.kisseleff@trivadis.com)

Mehr

Kapitel 7 Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2010/11 LMU München

Kapitel 7 Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2010/11 LMU München Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

Kapitel 7 Datenbank-Tuning

Kapitel 7 Datenbank-Tuning Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse Seminar Advanced Data Warehouse Thema: Index Selection Vortrag von Stephan Rieche gehalten am 2. Februar 2004 Download:.../~rieche Inhalt des Vortrages 1. Einleitung - Was ist das Index Selection Problem?

Mehr

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 10. Monitoring AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Momentaufnahmen Momentaufnahmen

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

DOAG Regionaltreffen München 2008

DOAG Regionaltreffen München 2008 DOAG Regionaltreffen München 2008 Let s do it in parallel MuniQSoft GmbH Doag 02/2008 Parallelisierung Seite 1 Impressum Oracle Schulung (SQL, DBA, PL/SQL, Security, 11g, Tuning, Backup & Recovery u.v.m.)

Mehr

SQL Tipps und Tricks Part III 08.02.2012

SQL Tipps und Tricks Part III 08.02.2012 1/40 PHP-User-Group Stuttgart 08.02.2012 Datenbank- und SQL-Performance Erkennen warum eine SQL-Abfrage langsam ist SQL Tipps und Tricks aus der Praxis 2/40 Wer Wer bin bin ich ich? Thomas Wiedmann n+1

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

1 Einführung... 1 1.1 Ziele und Zielgruppen... 1 1.2 Was erwartet Sie in diesem Buch... 1 1.3 Skripte und Test-Cases... 2 1.4 Danksagung...

1 Einführung... 1 1.1 Ziele und Zielgruppen... 1 1.2 Was erwartet Sie in diesem Buch... 1 1.3 Skripte und Test-Cases... 2 1.4 Danksagung... Inhaltsverzeichnis 1 Einführung........................................................... 1 1.1 Ziele und Zielgruppen.............................................. 1 1.2 Was erwartet Sie in diesem Buch.....................................

Mehr

StructuredQueryLanguage(SQL)

StructuredQueryLanguage(SQL) StructuredQueryLanguage(SQL) Themen: ErstelenundÄndernvonTabelen AbfragenvonDaten Einfügen,ÄndernundLöschenvonDaten Erstelennutzerde niertersichten(views) 2012Claßen,Kempa,Morcinek 1/23 SQL Historie System

Mehr

7.5.3. CREATE TABLE-Syntax

7.5.3. CREATE TABLE-Syntax 7.5.3. CREATE TABLE-Syntax 7.5.3.1. Stille Spaltentyp-Änderungen CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tabelle [(create_definition,...)] [tabellen_optionen] [select_statement] create_definition: spalten_name

Mehr

SQL Performance - Tips Do's & Don'ts

SQL Performance - Tips Do's & Don'ts SQL Performance - Tips Do's & Don'ts S.K. Consulting GmbH, München DB2_SQL_PERF - 1 - Inhaltsverzeichnis I. Richtlinien bei der Verwendung von SQL 1.1. In Programmen "verbotene" SQL- Anweisungen 1.2 SQL

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning. Kurs Oracle 9i Performance Tuning Teil 7 UNDO-Management Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 23 Seite 1 von 23 1. 2. Nutzung des Rollback Segments 3. 4. 5. Größe von UNDO- TBS berechnen 6.

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Ich muss gestehen, initial hätte ich mir auch so eine Syntax gewünscht. Bei genauerer Betrachtung stelle ich aber fest:

Ich muss gestehen, initial hätte ich mir auch so eine Syntax gewünscht. Bei genauerer Betrachtung stelle ich aber fest: Page 1 of 9 Betrifft Autor Online Reorganisationen mit Oracle9i Andri Kisseleff andri.kisseleff@trivadis.com Art der Info Technische Background Info November 2001 Quelle Aus dem NF9i-Kurs der Trivadis

Mehr

Migration von RMS nach ORACLE http://138.245.152.20/edv/decus2003_web.html

Migration von RMS nach ORACLE http://138.245.152.20/edv/decus2003_web.html http://138.245.152.20/edv/decus2003_web.html E.W.Raschner, Max von Pettenkofer-Institut, LMU München, raschner@m3401.mpk.med.uni-muenchen.de Voraussetzungen, Umgebung Grundlegende Überlegungen Aufbau der

Mehr

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr