|
Может кто помочь с запросом?
|
|||
---|---|---|---|
#18+
Слева Таблица - она временная. На самом деле это файл с разделителем \t Просто на сколько я знаю, СУБД внутри базы работает быстрее, чем из файла... Суть проблемы: Файл состоит из множества строк: каждая строка разбита на 3 строки ( data1,data2,data3 в таблице File_or_TMPTable) Таблицы Table1, Table2, Table3 имеют следующий вид: Table№ { id bigserial NOT NULL, data varchar(52) NOT NULL unique }; Задача: из таблицы ТМП или файла добавлять data1, data2,data3 в таблицы t1,t2,t3 ( буду сокращённо, думаю, понятно), забирать ID ,добавленного и эти id связывать в таблице4 Например:(\t отделю парой пробелов) Вот такие строки из файла/таблицы ТМП: TMP iddata1data2data31string1drow1ccr52string1drow1ccr53string1drow2ccr5 Должны записаться вот так: T1 iddata1 string1 T2 iddata1 drow12drow2 T3 iddata1 ccr5 T4 idID_T1ID_T2ID_T3111121113121 Я пробовал напрямую читать из файла строки своей программой и формировать запрос - получалось медленно ( 1000 строк в секунду) Вот теперь бьюсь над ускорением. Добавляю данные в T1,T2,T3 через INSERT ..... ON CONFLICT Пробовал писать через WITH - не получилось. Сейчас написал костыльно - через 6 запросов. Но это довольно медленно, но быстрее, чем 1000стр/с. Прошу тапками не кидаться, учу SQL только 1.5 недели ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 15:17 |
|
Может кто помочь с запросом?
|
|||
---|---|---|---|
#18+
egorthik, Возможно помогут индексы на поля data таблиц Table1, Table2, Table3. а дальше в цикле Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 15:38 |
|
Может кто помочь с запросом?
|
|||
---|---|---|---|
#18+
Swa111, Спасибо большое , вечером опробую и сообщу результаты ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 16:15 |
|
Может кто помочь с запросом?
|
|||
---|---|---|---|
#18+
egorthik, а вообще сначала можно актуализировать таблицы table1..2..3 а затем вставлять данные Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Но таблица tmpTable должны быть достачно быстрой для 4-х последовательных чтений ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 19:55 |
|
|
start [/forum/topic.php?fid=53&tid=1995424]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 149ms |
0 / 0 |