Thanks all for explain! On Mon, Jan 2, 2017 at 9:36 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> =?UTF-8?B?0JDQvdC00YDQtdC5INCl0L7Qt9C+0LI=?= <avkho...@gmail.com> writes: > > create table t1 (id serial, str char(32)); > > > create function f1(line text) returns void as $$ > > begin > > perform * from t1 where str = line; > > end; > > $$ language plpgsql; > > This query is specifying a text comparison (text = text operator). > Since the table column isn't text, a char-to-text conversion must > happen at each line. > > > create function f2(line char) returns void as $$ > > begin > > perform * from t1 where str = line; > > end; > > $$ language plpgsql; > > This query is specifying a char(n) comparison (char = char operator). > No type conversion step needed, so it's faster. > > regards, tom lane > -- Andrey Khozov