arsi@xxxxxxxxxxxxxx wrote:
Hi all,
I want to call one of the two functions above many times (in an
aggregate function) and it says in the manual pages that substr is the
same as substring.
Does this mean that substr calls substring internally?? Or is it the
other way around?? Or are they independent of each other??
So in short, which is faster to use??
Thanks,
Archie
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend
I normally trim the cruft from the end of emails i'm replying to but
this time it seemed like a good idea to leave it.
test=# EXPLAIN ANALYZE SELECT substring('foobar', 2);
QUERY PLAN
------------------------------------------------------------------------------------
Result (cost=0.00..0.01 rows=1 width=0) (actual time=0.011..0.013
rows=1 loops=1)
Total runtime: 0.042 ms
(2 rows)
test=# EXPLAIN ANALYZE SELECT substr('foobar', 2);
QUERY PLAN
------------------------------------------------------------------------------------
Result (cost=0.00..0.01 rows=1 width=0) (actual time=0.010..0.012
rows=1 loops=1)
Total runtime: 0.043 ms
(2 rows)
test=# EXPLAIN ANALYZE SELECT substring('foobar', 2);
QUERY PLAN
------------------------------------------------------------------------------------
Result (cost=0.00..0.01 rows=1 width=0) (actual time=0.012..0.014
rows=1 loops=1)
Total runtime: 0.044 ms
(2 rows)
test=# EXPLAIN ANALYZE SELECT substr('foobar', 2);
QUERY PLAN
------------------------------------------------------------------------------------
Result (cost=0.00..0.01 rows=1 width=0) (actual time=0.011..0.013
rows=1 loops=1)
Total runtime: 0.043 ms
(2 rows)
Looks like they're pretty evenly matched. I'd try it with something a
bit more complex. You could also prepare a file with the same queries
repeated amny times, using different words and positions. Do a file for
each function. Have psql dump its results into 2 other files and grep
for all the running times for each. Average them out and compare both
averages.
b