
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.01.2016, 15:32
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
Как читать из таблицы в массив порциями ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 15:37
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
Бока, а почему вы спрашиваете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 16:01
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
qwwq, Я делаю вот что : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Это оформлено в функцию . Один мой сотрудник запускал эту функцию на миллионных и десятки-миллионных количествах входных записей и говорит , что процесс взял очень много темповой памяти (видимо для UPDATE...FROM) и его пришлось снять. Поэтому я подумал, что надо обрабатывать порциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 16:04
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
qwwq, Перед WITH... вот что... Код: plsql 1. т.е. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 16:20
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
БокаПоэтому я подумал, что надо обрабатывать порциями. "обрабатывать порциями" и "читать в массив" -- немного разные задачи. даже ортогональные. Я бы вместо темп таблицы бежал вдоль Код: sql 1. 2. 3. 4. возможно, правда, не делая нечто автономно для каждой записи, а копя по 100-500 "DO" в батчи. и по накоплении 100-500 -- отправляя на исполнение. делать что--то автономно я приучен через дблинк[CREATE EXTENSION dblink; ]. Но с недавнего времени попробовал бы это же в postgres_fdw -- ещё не проверял в количествах. dblink же хорош для такой задачи, поскольку можно воспользоваться prepare -- execute--ами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 16:22
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
вдогон: для большой задачи напрашивается журнал, и возможность рестарта "от достигнутого" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 16:59
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
qwwq, А в каждой операции цикла делать UPDATE одной записи ? Я предполагаю, что это большое время займет. Разве автономное выполнение может ускорить этот процесс ? Я думаю, что и бэтчи тоже не сильно убыстрят процесс. Поэтому я решил брать результат моего запроса WITH... в массив порциями, а этот массив использовать в UPDATE...FROM как "ct" вместо "crm_table". Можно ли такое реализовать в Postgres ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 17:09
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
Бока, хотел ответить по существу, что, как , почему, но это долго т.ч. по вашему вопросу что вам мешает делать это вдоль цЫкла: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 18:33
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
qwwqБока, хотел ответить по существу, что, как , почему, но это долго т.ч. по вашему вопросу что вам мешает делать это вдоль цЫкла: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. qwwq, 1.) Обьясните пожалуйста , что такое "_arr" и "arr" и как их декларировать ? 2.) Как это оформить для автономного выполнения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 18:47
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
Бока1.) Обьясните пожалуйста , что такое "_arr" и "arr" и как их декларировать ? 2.) Как это оформить для автономного выполнения ? arr -- это опечатка. там инкерментирование _arr конкатенацией. У вас должен быть где--то объявлен требуемый вам тип вашего компаунда , с именем any_type. [при этом поц-гресс сам создаст массивный тип, обычно с именем "_any_type", о чём можно не задумываццо] а дальше -- всё кака бычна: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 19:06
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
qwwq, а знак "%" тут какую роль играет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2016, 20:41
|
|||
|---|---|---|---|
Как читать из таблицы в массив порциями ? |
|||
|
#18+
Бокаqwwq, а знак "%" тут какую роль играет? -- написано от балды в первом случае -- сравнение по модулю можно заменить простым >= во втором -- остаток от копипасты, недовычещенный -- это нарезание на массивы длиной 1000; в конце-- обработка хвостика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=1997524]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 469ms |

| 0 / 0 |
