From: | Evan Zane Macosko <macosko(at)fas(dot)harvard(dot)edu> |
---|---|
To: | Andrew Gould <andrewgould(at)yahoo(dot)com> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Problems with UPDATE |
Date: | 2001-08-20 20:31:19 |
Message-ID: | Pine.OSF.4.33.0108201625490.25326-100000@is03.fas.harvard.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
orf is a primary key. It is a unique string that links the tables.
Essentially, the setup is this: I am presented with data called
transcription profiles. These contain two columns: orf, which is a unique
representation of a biological gene, and induction, which is a number.
Now, unfortunately, these profiles do not contain all of the known orfs,
and also they can sometimes contain orfs that do not exist. so, when I
want to load in a profile to my database, i need to select all the
inductions from temp whose orfs exist in the master table. This master
table, yeast1, is very big--perhaps 600 columns. Basically, I'm just
adding columns to the database, and I'm looping it in Perl DBI. I
wondered if there was a fast batch way to do that.
On a related note, I had another question for everyone: I need to do
calculations with these induction numbers--I need to select the entire
table of inductions, load them into a matrix, and pass them to a
computational C program through perl/cgi. This step is obviously quite
rate-limiting, as it takes a very long time to select all from such a
large table (yeast1). perhaps my database design is a little messed
up--basically, I'm hoping someone will tell me the best way to load,
store, and access this kind of data.
Hope this clarifies!
Thanks everyone,
Evan
On Mon, 20 Aug 2001, Andrew Gould wrote:
> If orf is not associated with a primary key or unique
> index, the possible combinations might well exceed
> 14,000. For example, if 3 records in yeast1 and 4
> records in temp share the same orf value, the query
> will update yeast1 12 times (i.e. the 3 yeast1 records
> will be updated 4 times each).
>
> Can you clarify (for the server or for us) the
> relationship between the tables? What primary keys or
> indexes do these tables have?
>
> Andrew
>
> --- Evan Zane Macosko <macosko(at)fas(dot)harvard(dot)edu> wrote:
> > Hello everyone,
> >
> >
> > I am having a strange problem using the UPDATE
> > function in Postgresql. I
> > want to move a large number (6000) of entries in one
> > table to another, so
> > here is my syntax:
> >
> > UPDATE yeast1 SET c1 = temp.profile_1 FROM temp
> > WHERE yeast1.orf =
> > temp.orf;
> >
> > This query results in over 14000 entries being
> > added! I end up with
> > multiples of the same entry, which obviously is
> > undesirable. Does anyone
> > have any suggestions on how to fix this?
> >
> > thanks!
> > Evan
> >
> >
> >
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the
> > unregister command
> > (send "unregister YourEmailAddressHere" to
> majordomo(at)postgresql(dot)org)
>
>
> __________________________________________________
> Do You Yahoo!?
> Make international calls for as low as $.04/minute with Yahoo! Messenger
> http://phonecard.yahoo.com/
>
From | Date | Subject | |
---|---|---|---|
Next Message | Ed Loehr | 2001-08-20 20:32:30 | Handling db errors within transactions |
Previous Message | Andrew Gould | 2001-08-20 20:25:05 | Re: Problems with UPDATE |