Created
July 6, 2011 04:24
-
-
Save ryandotsmith/1066559 to your computer and use it in GitHub Desktop.
explain analyze on lock_head()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
QUERY PLAN | |
-------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=21.03..21.04 rows=1 width=10) (actual time=0.063..0.063 rows=1 loops=1) | |
-> LockRows (cost=21.03..21.11 rows=6 width=10) (actual time=0.062..0.062 rows=1 loops=1) | |
-> Sort (cost=21.03..21.05 rows=6 width=10) (actual time=0.046..0.046 rows=1 loops=1) | |
Sort Key: id | |
Sort Method: quicksort Memory: 25kB | |
-> Seq Scan on queue_classic_jobs (cost=0.00..21.00 rows=6 width=10) (actual time=0.035..0.036 rows=1 loops=1) | |
Filter: (locked_at IS NULL) | |
Total runtime: 0.105 ms | |
(8 rows) | |
queue_classic_test=# EXPLAIN ANALYZE select id from queue_classic_jobs where locked_at IS NULL order by id ASC limit 1 offset 0 for update nowait; | |
QUERY PLAN | |
----------------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=244.02..244.03 rows=1 width=10) (actual time=7.853..7.854 rows=1 loops=1) | |
-> LockRows (cost=244.02..369.03 rows=10001 width=10) (actual time=7.852..7.852 rows=1 loops=1) | |
-> Sort (cost=244.02..269.02 rows=10001 width=10) (actual time=7.807..7.807 rows=1 loops=1) | |
Sort Key: id | |
Sort Method: quicksort Memory: 853kB | |
-> Seq Scan on queue_classic_jobs (cost=0.00..194.01 rows=10001 width=10) (actual time=0.010..3.831 rows=10001 loops=1) | |
Filter: (locked_at IS NULL) | |
Total runtime: 7.916 ms | |
(8 rows) | |
queue_classic_test=# EXPLAIN ANALYZE select id from queue_classic_jobs where locked_at IS NULL order by id ASC limit 1 offset 0 for update nowait; | |
queue_classic_test=# EXPLAIN ANALYZE select id from queue_classic_jobs where locked_at IS NULL order by id ASC limit 1 offset 0 for update nowait; | |
QUERY PLAN | |
--------------------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=3979.23..3979.24 rows=1 width=10) (actual time=232.550..232.550 rows=1 loops=1) | |
-> LockRows (cost=3979.23..6009.41 rows=162415 width=10) (actual time=232.549..232.549 rows=1 loops=1) | |
-> Sort (cost=3979.23..4385.26 rows=162415 width=10) (actual time=232.519..232.519 rows=1 loops=1) | |
Sort Key: id | |
Sort Method: external sort Disk: 3224kB | |
-> Seq Scan on queue_classic_jobs (cost=0.00..3167.15 rows=162415 width=10) (actual time=0.022..62.179 rows=165017 loops=1) | |
Filter: (locked_at IS NULL) | |
Total runtime: 249.135 ms | |
(8 rows) | |
queue_classic_test=# EXPLAIN ANALYZE select id from queue_classic_jobs where locked_at IS NULL order by id ASC limit 1 offset 0 for update nowait; | |
QUERY PLAN | |
--------------------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=4788.99..4789.00 rows=1 width=10) (actual time=286.976..286.977 rows=1 loops=1) | |
-> LockRows (cost=4788.99..7232.32 rows=195466 width=10) (actual time=286.976..286.976 rows=1 loops=1) | |
-> Sort (cost=4788.99..5277.66 rows=195466 width=10) (actual time=286.891..286.891 rows=1 loops=1) | |
Sort Key: id | |
Sort Method: external sort Disk: 3880kB | |
-> Seq Scan on queue_classic_jobs (cost=0.00..3811.66 rows=195466 width=10) (actual time=5.221..82.348 rows=198638 loops=1) | |
Filter: (locked_at IS NULL) | |
Total runtime: 306.601 ms | |
(8 rows) | |
queue_classic_test=# EXPLAIN ANALYZE select id from queue_classic_jobs where locked_at IS NULL order by id ASC limit 1 offset 0 for update nowait; | |
QUERY PLAN | |
---------------------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=7509.96..7509.97 rows=1 width=10) (actual time=439.953..439.954 rows=1 loops=1) | |
-> LockRows (cost=7509.96..11345.76 rows=306864 width=10) (actual time=439.952..439.952 rows=1 loops=1) | |
-> Sort (cost=7509.96..8277.12 rows=306864 width=10) (actual time=439.921..439.921 rows=1 loops=1) | |
Sort Key: id | |
Sort Method: external sort Disk: 6080kB | |
-> Seq Scan on queue_classic_jobs (cost=0.00..5975.64 rows=306864 width=10) (actual time=0.021..118.558 rows=311002 loops=1) | |
Filter: (locked_at IS NULL) | |
Total runtime: 471.116 ms | |
(8 rows) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment