getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 26.08.2002, 16:48   #1
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein

Performanceoptimierung bei komplexen Abfragen


Grüssi!

Hab eine frage bezüglich optimierung von selects auf eine (oracle) db.

der select geht über 3 tabellen mit einigen x 100tausend ds.
und das dauert.
und das ist schlecht so.
und ich soll das ändern.
und ich weiss noch nicht genau wie.

hat wer von euch schlaue seiten in seiner bookmarkliste, die sich mit geschickter indizierung, performancetricks usw. beschäftigen?

thx

lf

p.s. kann leider keine detailinfos bzgl. db angeben. ich bin nur als trouble-shooter gefragt worden und hab keinen einblick in die gesamte db.
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten


Alt 26.08.2002, 17:35   #2
Registered User
 
Benutzerbild von Toxical
 
Registriert seit: Dec 2001
Ort: Berlin
Toxical macht alles soweit korrekt
hm ich denk mit den 4 stufen der db optimierung bist du vertraur,.
oder sollst du nur die select's und nicht die db struktur verbessern?
Toxical ist offline   Mit Zitat antworten
Alt 26.08.2002, 23:35   #3
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Zitat:
4 stufen der db optimierung

meinst normalisierung - oder?

es geht darum was man am select noch drehen kann, um das ding performanter zu machen.
- bringt eine view im laufzeitverhalten geschwindigkeitsvorteile?
- join vs. expliziter verknüpfung (where id=foreignID) ?
- index-tricks,... ?

und so zeuchs halt.

die herausforderung ist diese, dass die jungs eine db angelegt haben, und dann z.b. auf eine tabelle mit über 2000000 ds auf ein artikelnummernfeld abgefragt haben. das hat dann so 2 min gedauert und hat den rest des db-servers in die knie gezwungen.
auf die frage, ob sie denn auch das feldi indiziert haben, kam die antwort: 'was ist denn ein index?!'

bei dem select liegt der hund ein bissl tiefer begraben. indizes sind für die schlüssel und foreigns eigentlich da.
also versuch ich den view ein bissl performanter zu gestalten.

...mit eurer hilfe, wenn möglich...

lf
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 27.08.2002, 09:42   #4
Registered User
 
Benutzerbild von Toxical
 
Registriert seit: Dec 2001
Ort: Berlin
Toxical macht alles soweit korrekt
Zitat:
Original geschrieben von Longfang

meinst normalisierung - oder?
lf
ja meine ich, ist doch im prinzip das selbe

Puh, kann dir da wohl kaum weiterhelfen, meine db's musste ich nie einer solchen radikal Performance Kur unterziehen, von daher hab ich wenig Erfahrungen was die einzelnen Verbesserungen im einzelnen bringen.
Toxical ist offline   Mit Zitat antworten
Alt 27.08.2002, 10:29   #5
TP-Member
 
Registriert seit: Aug 2002
Ort: Berlin/Deutschland
Colin Schlüter ist auf einem guten Weg

Doku!


Hallo!

Kenn mich auch nicht so sehr mit der Query-Optimierung aus, weil ich noch nie so riesige Datenbanken benutzt habe, aber vielleicht hilft dir die Dokumentation weiter:

http://www.mysql.de/documentation/my...ml#Query_Speed

HTH

Colin
Colin Schlüter ist offline   Mit Zitat antworten
Alt 27.08.2002, 11:32   #6
TP-Insider
 
Benutzerbild von wuselmann
 
Registriert seit: May 2001
Ort: Wolfenbüttel
wuselmann ist auf einem guten Weg
Mit den Oracles kenn' ich mich auch nicht so sehr aus - kann dir nur empfehlen, Dich an jemanden zu wenden, der sich damit auskennt was bei Oracle-DB's etwas schwieriger ist als bei MySQL. Allerdings wirst Du den wohl leider nicht in den gelben Seite finden

Versuch' es doch mal ansatzweise bei Oracle selbst. Da bekommst Du uU Support und ein paar Tipps, wenn es sich um eine Lizenz handelt, was ich mal denke.

Ansonsten wären Dozenten&Profs von Uni/FH noch eine Lösung. Wenn Du da jemanden kennst? Ansonsten schick mir mal 'ne PM und du bekommst die Mail-Adresse meiner DB-Dozentin.


Holger, der wuselmann
__________________
Wo kämen wir denn hin, wenn wir keine Träume mehr hätten? ™
shark-design Internet, Druck & Kommunikation in Wolfenbüttel
wuselmann ist offline   Mit Zitat antworten
Alt 27.08.2002, 13:11   #7
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
Thx.

hat sich erledigt.

perverserweise ist ein verschachtelter subselect schneller als ein join.
irgendwie hat der verdammte select nicht den richtigen index gezogen.

das positive: hab was gelernt, und wir bekommen hoffentlich eine inhouse schulung bezüglich db-tuning *freu*

lf
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 27.08.2002, 13:46   #8
Registered User
 
Benutzerbild von Toxical
 
Registriert seit: Dec 2001
Ort: Berlin
Toxical macht alles soweit korrekt
Hö? Seit wann darf man in Mysql verschachtelt selecten?
ich mein, praktisch wär es schon
Toxical ist offline   Mit Zitat antworten
Alt 27.08.2002, 15:19   #9
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
sag mal, liest du meine einträge eigentlich oder tust du nur posts schinden

ORACLE toxical nicht mysql (is a spielzeug...)
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 27.08.2002, 15:29   #10
Registered User
 
Benutzerbild von Toxical
 
Registriert seit: Dec 2001
Ort: Berlin
Toxical macht alles soweit korrekt
Zitat:
Original geschrieben von Longfang
sag mal, liest du meine einträge eigentlich oder tust du nur posts schinden
hab ich wohl uebersehen, tut mir leid.
Toxical ist offline   Mit Zitat antworten
Alt 27.08.2002, 16:51   #11
TP-Specialist
 
Benutzerbild von mike
 
Registriert seit: Jan 2002
Ort: TP/Dynamik
mike bringt sich richtig ein
dir sei vergeben. gehe hin in frieden...
__________________
Gehelft? Hier kannst du dich bedanken.

mike
mike ist offline   Mit Zitat antworten
Alt 29.08.2002, 00:57   #12
TP-Insider
 
Benutzerbild von MuschPusch
 
Registriert seit: May 2002
Ort: Niederlande
MuschPusch ist auf einem guten Weg
ähm hab mich ja ma versucht ueber die "Normalform" schlau zu lesen und die Informatiker von irgendwo haben in 10 Seiten eigentlich doch nur sagen wollen:

Zieh die Sachen auseinander, ich meine pack sie in verschiedene Tabellen wenn sie nicht zusammengehoeren!

Vergib immer einen unique Index!

Lass nie etwas doppelt irgendwo auftauchen...!

Fuer haeufig auftretende Inhalte: mach wieder eine neue Tabelle auf die Du dann wieder verweist...

Die ersten sind ja klar aber bei der letzten kann ich keinen wirklichen Sinn erkennen ausser das man Speicherplatz schafft, dafuer aber nochma extra in ne weitere Tabelle muss bei jeder query....
MuschPusch ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Performanceoptimierung bei komplexen Abfragen Performanceoptimierung bei komplexen Abfragen
« [PHP] Links richtig setzen... | cookie »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:58 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67