Re: Performance of Bit String - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Performance of Bit String
Date
Msg-id 201006091859.38189.andres@anarazel.de
Whole thread Raw
In response to Performance of Bit String  (rupendra.chulyadyo@gmail.com)
List pgsql-hackers
Hi,

Youre on the wrong list for this. This is not a -hackers (i.e. developer 
targeted) but a -general (user targeted) question.


On Wednesday 09 June 2010 15:11:41 rupendra.chulyadyo@gmail.com wrote:
> I tried to store a BitString of length 2 million in a Postgres table (see
> code below), but it did not complete even in 3 mins and then I cancelled
> it. Surprisingly, it only took few seconds when BitString was of length
> 500K. Is there any restriction of length of BitString or am I missing
> something here?
I think youre missing that your algorithm for assembling the string has 
quadratic complexity.
For each loop iteratoring the whole string will be newly allocated and then 
copied over.

A faster way to create such a long string might be:
SELECT array_to_string(array_agg(1),'')::bit(2000000) FROM generate_series(1, 
2000000);

Btw, your table definition has only the length bit(200k), but youre inserting 
bit(2000k)...


What are you trying to achieve with such a long bitstring? Actually I cannot 
think of any database design where I would consider that a valid design-
choice.


Andres


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: hstore ==> and deprecate =>
Next
From: Tom Lane
Date:
Subject: Re: hstore ==> and deprecate =>