Учебник по postgresql timescaledb Скорость копирования и обновления - PullRequest
0 голосов
/ 26 января 2019

Я следую учебному пособию: https://docs.timescale.com/v1.1/tutorials/tutorial-hello-nyc

Мне любопытно узнать, сколько времени у вас уходит на получение запросов:

"\COPY rides FROM nyc_data_rides.csv CSV"

и

UPDATE rides SET pickup_geom = ST_Transform(ST_SetSRID(ST_MakePoint(pickup_longitude,pickup_latitude),4326),2163);
UPDATE rides SET dropoff_geom = ST_Transform(ST_SetSRID(ST_MakePoint(dropoff_longitude,dropoff_latitude),4326),2163);

Для меня первый длится 15 минут, а второй - 23 минуты.

Мне это кажется много, может быть, я ошибаюсь. Иначе, как я могу улучшить скорость запросов COPY и UPDATE?

Я пытался создавать индексы только в конце, как рекомендовано в другом месте. Но выигрыш незначителен.

Ps: это свежая установка PostgreSQL 10 на windows 10, 16g RAM, i7.

Bye

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вероятно, проблема с io. Обновления занимают много времени, потому что они по существу переписывают всю таблицу. Определенно не рекомендую делать это в производственной среде, но кажется, что все занимает больше времени, чем следовало бы, потому что у вас есть некоторые проблемы с вводом данных, вы можете протестировать работу ввода-вывода с помощью чего-то вроде инструмента ioping и посмотреть, какова задержка / пропускная способность.

0 голосов
/ 30 января 2019

Это кажется немного странным. Когда вы запускаете \ dx, вы видите установленную шкалу времени? Я бы также предложил запустить timescale-tune, чтобы убедиться, что ваш экземпляр настроен правильно, но вам не нужно это делать для этого урока.

...