|
|
|
Перенос данных
|
|||
|---|---|---|---|
|
#18+
Есть пустая таблица1: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Есть таблица2: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Добавим тестовые данные в таблицу2: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Задача такие по сути данные максимально быстро перетащить из таблицы2 в таблицу1. Структуру таблицы2 можно менять, кроме того, что на верхнем уровне должна быть разбивка по a_id_last_digit. Как сам вижу, строим локальный битмап на таблице2 по a_date и дальше в неск. потоков insert append в патиции таблицы1. Но это геморрой имхо. ЗЫ изначально задача ускорить загрузку в таблицу1 путем распараллеливания, но бить на потоки по a_date нельзя, т.к. суммы считаются за все периоды для каждого id (т.е. можно конечно, но эффективность имхо будет немного ниже, если не хуже, т.к. будет много повторных чтений (для каждого месяца надо будет прочитать все предыдущие)). Поэтому пока предложение распараллелить по id через промежуточную таблицу2, но потом из нее все равно надо все положить в таблицу1 и если это не сделать быстро, то если и будет выигрыш, все сведется на нет. Возможно, есть другие варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2018, 23:46 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=103&tid=1883559]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 318ms |

| 0 / 0 |
