Re: String handling function, substring vs. substr

Поиск
Список
Период
Сортировка
Искать

Re: String handling function, substring vs. substr

От:
brian <brian@zijn-digital.com>
Дата:
arsi@aranzo.netg.se 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

Re: String handling function, substring vs. substr

От:
Tom Lane <tgl@sss.pgh.pa.us>
Дата:
brian  writes:
> arsi@aranzo.netg.se wrote:
>> Does this mean that substr calls substring internally?? Or is it the 
>> other way around?? Or are they independent of each other??

> Looks like they're pretty evenly matched.

Actually, a bit of poking into the contents of pg_proc will show you
that they are both aliases for the same C function (text_substr_no_len).
So they should be *exactly* the same speed.

			regards, tom lane

String handling function, substring vs. substr

От:
arsi@aranzo.netg.se
Дата:

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

Re: String handling function, substring vs. substr

От:
arsi@aranzo.netg.se
Дата:

Hi all,

> brian  writes:
>> arsi@aranzo.netg.se wrote:
>>> Does this mean that substr calls substring internally?? Or is it the
>>> other way around?? Or are they independent of each other??
>
>> Looks like they're pretty evenly matched.
>
> Actually, a bit of poking into the contents of pg_proc will show you
> that they are both aliases for the same C function (text_substr_no_len).
> So they should be *exactly* the same speed.
>
> 			regards, tom lane
>
Thanks Brian for your answer (although that wasn't what I was looking for, 
I was looking for Tom's answer).

Thanks Tom for your answer.

Archie
FAQ