Hallo,
ich hoffe, das ist der richtige Bereich für meine Frage:
Ich habe die Standard-SQL-Operationen und Select auf Zeit pro Datensätze getestet. Beim Select ist eine Unregelmäsigkeit aufgetreten (siehe Anhang ( Die Tabellen sind mit INNER JOIN verknüpft.)).
Wir haben versucht die Konfiguration umzustellen (Arbeitsspeicher uns Co.), aber der Ausschlag blieb an Ort uns Stelle.
Woran kann es liegen, dass der Wert auf einmal so hoch ausschlägt? Kann man irgendwelche Parameter in der Konfiguration einstellen, die diesen Ausschlag nach rechts verschiebt?
Ich hoffe, ihr könnt mir helfen.
Gruß
Lara
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Ich habe eine Tabelle aus der PostgreSQL Datenbank mit Select abgefragt.
SELECT count(*)
from tab_1 p
WHERE p.id < 3275028
Dann 3 Tabellen, die mit INNER JOIN verknüpft wurden
SELECT count(*)
from tab_1 p
INNER JOIN tab_2 u ON p.user_id=u.user_id
INNER JOIN tab_3 pa ON pa.user_id=u.user_id
WHERE p.id < 2232217
und dann 5 Tabellen
SELECT count(*)
from tab_1 p
INNER JOIN tab_2 u ON p.user_id=u.user_id
INNER JOIN tab_3 pa ON pa.user_id=u.user_id
INNER JOIN tab_4 pm ON pm.user_id=u.user_id
INNER JOIN tab_5 up ON up.user_id=u.user_id
WHERE p.id < 1279920
Ich habe mehrere Durchläufte für 50.000, 100.000, 200.000, 400.000, 800.000 ... 2.800.000, 3.200.00 Datensätzen u.s.w. ... gemacht und je den Durchschnitt der 3 Methoden in diesem Diagramm dargestellt.
Geändert von Lara (11.02.2011 um 08:35 Uhr)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
EXPLAIN zeigt den Abfrageplan. In Verbindung mit ANALYSE bekommt man die Abfrage auch ausgeführt und kann sehen, was genau abläuft. In neueren Versionen kann man auch ersehen, ob z.B. Sortieroperationen im RAM oder auf der Platte erfolgen.
Kurz formuliert: erst Anlaufstelle bei Performance-Analysen ist IMMER das EXPLAIN.
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Also ich arbeite mit phpPgAdmin 4.2.2 und wenn ich auf Analyse bei einer meiner Tabellen klicke wird mir nur nach einer gewissen Zeit angezeigt, dass es die Analyse durchgeführt hat, aber nicht was da passiert ist.
Habe ich da was übersehen oder hat du was anderes gemeinst?
Ich bin noch PostgreSQL Anfängerin, musst du wissen ...
Aber ich danke dir sehr, dass du dir für mein Problem Zeit nimmt.![]()
Vermutlich macht Dein phpPgAdmin da ein PostgreSQL: Documentation: Manuals: PostgreSQL 9.0: ANALYZE, kein PostgreSQL: Documentation: Manuals: PostgreSQL 9.0: Using EXPLAIN.
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Ich habe das explain mal ausgeführt
EDIT ...Code:EXPLAIN SELECT * FROM tab_2, tab_1, tab_4, tab_3, tab_5
Geändert von Lara (15.02.2011 um 15:27 Uhr)
Das ist kein Execution plan von PostgreSQL sondern einer von MySQL.
Bist Du Dir sicher, dass Du PostgreSQL verwendest?
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen