Re: [PERFORM] performance problem on big tables

Поиск
Список
Период
Сортировка
От Daniel Blanch Bataller
Тема Re: [PERFORM] performance problem on big tables
Дата
Msg-id 8F28ABE4-047E-45CF-B502-480103D8EA97@gmail.com
обсуждение исходный текст
Ответ на [PERFORM] performance problem on big tables  (Mariel Cherkassky <mariel.cherkassky@gmail.com>)
Ответы Re: [PERFORM] performance problem on big tables  (Rick Otten <rottenwindfish@gmail.com>)
Список pgsql-performance
Hi.

In general using COPY is *much faster* than anything else. You can even split the data load and run it in parallel, start with as many jobs as processors you have. Same with indexes, run them in parallel. With parallel I mean various psql running at the same time.

Tuning postgres will help too, but not as much as using COPY.




Regards,

Daniel Blanch..



El 14 ago 2017, a las 15:24, Mariel Cherkassky <mariel.cherkassky@gmail.com> escribió:

I have performance issues with two big tables. Those tables are located on an oracle remote database. I'm running the quert : insert into local_postgresql_table select * from oracle_remote_table.

The first table has 45M records and its size is 23G. The import of the data from the oracle remote database is taking 1 hour and 38 minutes. After that I create 13 regular indexes on the table and it takes 10 minutes per table ->2 hours and 10 minutes in total.

The second table has 29M records and its size is 26G. The import of the data from the oracle remote database is taking 2 hours and 30 minutes. The creation of the indexes takes 1 hours and 30 minutes (some are indexes on one column and the creation takes 5 min and some are indexes on multiples column and it takes 11 min.

Those operation are very problematic for me and I'm searching for a solution to improve the performance. The parameters I assigned :

min_parallel_relation_size = 200MB
max_parallel_workers_per_gather = 5
max_worker_processes = 8
effective_cache_size = 2500MB
work_mem = 16MB
maintenance_work_mem = 1500MB
shared_buffers = 2000MB
RAM : 5G
CPU CORES : 8

-I tried running select count(*) from table in oracle and in postgresql the running time is almost equal.

-Before importing the data I drop the indexes and the constraints.

-I tried to copy a 23G file from the oracle server to the postgresql server and it took me 12 minutes.

Please advice how can I continue ? How can I improve something in this operation ?


В списке pgsql-performance по дате отправления:

Предыдущее
От: MichaelDBA
Дата:
Сообщение: Re: [PERFORM] performance problem on big tables
Следующее
От: Rick Otten
Дата:
Сообщение: Re: [PERFORM] performance problem on big tables