Re: [QUESTIONS] DANGER WILL ROBINSON!

Started by The Hermit Hackeralmost 28 years ago2 messages
#1The Hermit Hacker
scrappy@hub.org

Redirected to 'the proper list' - pgsql-hackers@postgresql.org

On Mon, 9 Mar 1998, Bruce Momjian wrote:

WARNING!

Postgres 6.3 has MAJOR trouble with btree-indexed text fields.

Performance levels are *10x* worse than the same indexed fields in "varchar"
format!

Be EXTREMELY careful - I got bit in the ass by this this morning, and it was
very fortunate that I figured out what was going on.

The reason I changed this over was that I had dumped the table and it came
out of the pg_dump program with a negative size. So I figured I'd change it
to TEXT and that would resolve the problem. BIG mistake.

Be on guard for this folks.

Developers, you might want to look into this - there's no good reason for
this kind of behavior, is there?

No good reason at all. As far as I know, text and varchar() behave
identically in the backend, except for the input functions which limit
the length of varchar.

Karl...just curious, but what does an 'explain' show for the two
different situations? 10x worse almost sounds like the indices aren't
even being used, don't they?

#2Karl Denninger
karl@mcs.net
In reply to: The Hermit Hacker (#1)

On Mon, Mar 09, 1998 at 01:02:26PM -0500, The Hermit Hacker wrote:

Redirected to 'the proper list' - pgsql-hackers@postgresql.org

On Mon, 9 Mar 1998, Bruce Momjian wrote:

WARNING!

Postgres 6.3 has MAJOR trouble with btree-indexed text fields.

Performance levels are *10x* worse than the same indexed fields in "varchar"
format!

Be EXTREMELY careful - I got bit in the ass by this this morning, and it was
very fortunate that I figured out what was going on.

The reason I changed this over was that I had dumped the table and it came
out of the pg_dump program with a negative size. So I figured I'd change it
to TEXT and that would resolve the problem. BIG mistake.

Be on guard for this folks.

Developers, you might want to look into this - there's no good reason for
this kind of behavior, is there?

No good reason at all. As far as I know, text and varchar() behave
identically in the backend, except for the input functions which limit
the length of varchar.

Karl...just curious, but what does an 'explain' show for the two
different situations? 10x worse almost sounds like the indices aren't
even being used, don't they?

Explain claims the indices are being used.

--
--
Karl Denninger (karl@MCS.Net)| MCSNet - Serving Chicagoland and Wisconsin
http://www.mcs.net/ | T1's from $600 monthly to FULL DS-3 Service
| NEW! K56Flex support on ALL modems
Voice: [+1 312 803-MCS1 x219]| EXCLUSIVE NEW FEATURE ON ALL PERSONAL ACCOUNTS
Fax: [+1 312 803-4929] | *SPAMBLOCK* Technology now included at no cost