Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
Добрый день! Не поделится ли кто-нибудь своими или чужими примерами использования COPY и/или соображениями по этому поводу? Предпочтительно в варианте BINARY. Предпочтительно из libpq. Хочется глянуть на что-нибудь готовое, ибо совет из документации == To determine the appropriate binary format for the actual tuple data you should consult the PostgreSQL source, in particular the *send and *recv functions for each column's data type (typically these functions are found in the src/backend/utils/adt/ directory of the source distribution). == навевает мысли о более полезных способых траты времени, один из которых использовать text format. Расскажите, кстати, имеет ли смысл при использовании COPY удалять индексы перед массовой загрузкой данных и пересоздавать их после нее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:17 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
на парся.. делай в текстовом формате.. от бинарного формата скорости много не выиграеш.. а гемору с написанием кода приобретеш. я перед copy делаю vacuum analyze , помогает в разы ускорить его , но уменя "хитрый" COPY , на таблицу с тригером BEFORE INSERT аля IF update where a=new.a THEN return NULL ELSE return new; табличка достаточна большая и данных приходит много и часто по поводу перестройки индексов точно сказать не могу никогда незаморачивался.. он думаю что перестраивать их стоит вместе с вакуумом ночю... все конечто зависить от специфика конкретной системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:51 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
ilejnДобрый день! Расскажите, кстати, имеет ли смысл при использовании COPY удалять индексы перед массовой загрузкой данных и пересоздавать их после нее? В большинстве БД это имеет смысл делать, т к быстрее работает загрузка без индексов и пересоздание их, чем загрузка в таблицу с индексами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 16:51 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
landy[quot ilejn] В большинстве БД это имеет смысл делать, т к быстрее работает загрузка без индексов и пересоздание их, чем загрузка в таблицу с индексами Понятное дело. Я просто думал, что COPY, которая специально предназначена для массовых операций, может обладать каким-то собственным интеллектом на эту тему. Документация в явном виде ничего об этом не говорит, так что интеллект, вероятно, отсутствует ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 17:06 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
landy ты забываеш что полная перестройка индекса достаточно тяжелая операция ... и при интенсивном COPY прирост скорости за счет отсуствия индексов скорее всего померкнет из за полной перестройки индекса что что вобщем может быть даже дольше самого копу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2005, 10:48 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
Я не забываю - просто жизнь показывает, что так быстрее , во всяком случае на тех БД с которыми я работал и работаю. Еще лучше - если грузить данные отсортированные по значению ключа, а потом создавать индекс. В таком случае создание индекса тоже должно быть более быстрым, чем создание индекса по только что загруженной таблице с разрозненными данными. Запись в таблицу Postgres и , соответственно, поиск места для вставки ключа в индекс(а если их несколько?) может очень сильно затормозить весь процесс. Кроме того для индекса будет использоваться место в кэше. А это тоже при массовых операциях загрузки не очень выгодно. Просто попробуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2005, 22:08 |
|
||
|
COPY via libpq
|
|||
|---|---|---|---|
|
#18+
на парся.. делай в текстовом формате.. от бинарного формата скорости много не выиграеш.. а гемору с написанием кода приобретеш. Разница в скорости между бинарным и текстовым форматом приблизительно в десять раз. Так что еще раз с надеждой взываю к общественности, имеющей опыт формирования данных для бинарной загрузки, или знающей какой-нибудь пример по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 09:44 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=2007042]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 515ms |

| 0 / 0 |
