From: | aasat <satriani(at)veranet(dot)pl> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | The fastes way to sum array of integers |
Date: | 2012-12-16 16:44:20 |
Message-ID: | 1355676260002-5736771.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
I sum values of array integers by query
select sum(t)
from unnest(array[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0]) as t
cross join generate_series(1, 1000000);
Total runtime: 10020.699 ms
But simmilar method to count array's elements is dramatically faster
select sum(array_length(array[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0], 1))
from generate_series(1, 1000000)
Total runtime: 464.042 ms
It's as fast as simple query!
select sum(1) from generate_series(1, 1000000)
"Total runtime: 462.687 ms"
It is possible that function e.g. array_sum written in C is as fast as
bult-in array_length?
regards
Wojciech
--
View this message in context: http://postgresql.1045698.n5.nabble.com/The-fastes-way-to-sum-array-of-integers-tp5736771.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Bex | 2012-12-16 16:51:23 | Re: Authenticate with hash instead of plaintext password? |
Previous Message | Murray Cumming | 2012-12-16 16:38:37 | Re: Authenticate with hash instead of plaintext password? |