Re: Make UPDATE query quicker?
От | Michael Wood |
---|---|
Тема | Re: Make UPDATE query quicker? |
Дата | |
Msg-id | CAP6d-HWh2AwboNV-uyC78iKkXJ1_kOU+w2u0BUF2Xs8zXczrxw@mail.gmail.com обсуждение исходный текст |
Ответ на | Make UPDATE query quicker? (James David Smith <james.david.smith@gmail.com>) |
Ответы |
Re: Make UPDATE query quicker?
|
Список | pgsql-novice |
On 12 October 2012 12:16, James David Smith <james.david.smith@gmail.com> wrote: > > Hi all, > > Wondered if someone had any tips about how to do this UPDATE query > quicker. I've got two tables: > > CREATE TABLE import_table > ( date_time TIMESTAMP > person_id, INTEGER > data REAL) > > CREATE TABLE master_table > (date_time TIMESTAMP > person_id INTEGER > data REAL) > > Each table has 172800 rows in it. > > I want to move the 'data' from the import_table to the master_table by > matching on both the date_time and the person_id. I do this with this > query: > > UPDATE master_table a > SET data = > (SELECT b.date > FROM import_table b > WHERE a.date_time = b.date_time AND a.person_id = b.person_id AND > b.data IS NOT NULL) > > However I need to do this about 20 times, and the first time is still > running at the moment (about 15 minutes). > > Am I doing something wrong? Should I put some indexes on the columns > somehow to improve performance? I don't know if this will help performance-wise, but maybe it's worth a try: See if doing it with an UPDATE FROM helps at all. e.g.: http://stackoverflow.com/a/2766766/495319 -- Michael Wood <esiotrot@gmail.com>
В списке pgsql-novice по дате отправления: