Hallo zusammen,
bin gerade verwirrt durch folgendes Problem.
Ich habe diese Abfrage:
Dauert ca. 1s, passt also.
Nun möchte ich aber statt konstanter ID 111 die job_id in einer Subquery auslesen:
Und die Dauer springt plötzlich total in die Höhe auf ein paar Minuten. (Die echte Subquery ist natürlich deutlich komplexer.) Was ist da das Problem, dass das ganze so lange dauert?
Query Plan sieht so aus:
Kann mich jemand bitte von der Leitung runterholen und mir sagen woran's hapert?
bin gerade verwirrt durch folgendes Problem.
Ich habe diese Abfrage:
Code:
SELECT some_field from rows where job_id = 111 ORDER BY row_id ASC LIMIT 20;
Nun möchte ich aber statt konstanter ID 111 die job_id in einer Subquery auslesen:
Code:
SELECT some_field from rows where job_id = (SELECT 111 LIMIT 1) ORDER BY row_id ASC LIMIT 20;
Query Plan sieht so aus:
Code:
Limit (cost=0.45..5228.88 rows=20 width=20)
InitPlan 1 (returns $0)
-> Limit (cost=0.00..0.01 rows=1 width=4)
-> Result (cost=0.00..0.01 rows=1 width=4)
-> Index Scan using rows_pkey on rows (cost=0.44..6637232.95 rows=25389 width=20)
Filter: (job_id = $0)

Kommentar