Re: B-tree index on a VARCHAR(4000) column

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: John Turner <fenwayriffs(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: B-tree index on a VARCHAR(4000) column
Date: 2017-09-10 15:42:51
Message-ID: CAHyXU0xE_54MQxs-_jk84UxEHigFsBstPJNouv-yu=19Wi8_RQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Friday, September 8, 2017, John Turner <fenwayriffs(at)gmail(dot)com> wrote:

>
>
> On Fri, Sep 8, 2017 at 6:57 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us
> <javascript:_e(%7B%7D,'cvml','tgl(at)sss(dot)pgh(dot)pa(dot)us');>> wrote:
>
>> Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net
>> <javascript:_e(%7B%7D,'cvml','ron(dot)l(dot)johnson(at)cox(dot)net');>> writes:
>> > Based on LENGTH(offending_column), none of the values are more than 144
>> > bytes in this 44.2M row table. Even though VARCHAR is, by definition,
>> > variable length, are there any internal design issues which would make
>> > things more efficient if it were dropped to, for example, VARCHAR(256)?
>>
>> No.
>>
>> So the declarative column length has no bearing on memory grants during
> plan generation/execution?
>

Nope. Memory usage is proportional to the size of the string, not the
maximum length for varchar. Maximum length is a constraint.

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John Turner 2017-09-10 18:00:59 Re: B-tree index on a VARCHAR(4000) column
Previous Message Magnus Hagander 2017-09-10 07:39:56 Re: pg_ident mapping Kerberos Usernames