Re: Anything I can do to speed up this query?
От | Richard Huxton |
---|---|
Тема | Re: Anything I can do to speed up this query? |
Дата | |
Msg-id | 457698EE.1070902@archonet.com обсуждение исходный текст |
Ответ на | Anything I can do to speed up this query? (Wei Weng <wweng@kencast.com>) |
Список | pgsql-general |
Wei Weng wrote: > I have a table that has roughly 200,000 entries and many columns. > > The query is very simple: > > SELECT Field1, Field2, Field3... FieldN FROM TargetTable; > > TargetTable has an index that is Field1. > > The thing is on this machine with 1Gig Ram, the above query still takes > about 20 seconds to finish. And I need it to run faster, ideally around > 5 seconds. > ------------------------------------------------------------------------------------------------------------------------------------------- > Seq Scan on TargetTable (cost=0.00..28471.72 rows=210872 width=988) > (actual time=0.037..6084.385 rows=211286 loops=1) > Total runtime: 6520.499 ms Thats 988 * 211286 =~ 200MB of data. Since the explain-analyse completes in 6.5secs that would mean you're spending 13.5 seconds building the result-set, transferring it and processing it at the client end. That will take up at least 400MB of RAM (realistically more) - I'd suggest you'd be better off with a cursor, unless you really need the whole thing in one go. If you do need all the data at once, you'll want a faster CPU and faster RAM I guess. -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: