Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.04.15;
Скачать: CL | DM;

Вниз

Братцы как ускорить процесс?   Найти похожие ветки 

 
Signal   (2016-04-17 01:31) [0]

есть потоки, получают данные и вставляют все распарсенное в базу mySQL
потоков можно сделать много, но не в этом речь

каждый поток создает файл с текстом insert into table1(val1, val2..val5) VALUES(), который может быть каждый по 1-2 мбайта
и тут этих валуес может быть 5-7 тысяч
при малом кол-ве потоков долго поточицо, при большом их кол-ве вылетает ошибка что сервак sql (в локале) не справляецо.

может есть смысл разбить эти 5-7 тыс на части и в тексте SQL писать несколько insert into?
вообщем надо чтоб поток (который запускает N кол-во дополнительных потоков) отработал и была готовая таблица sql


 
Signal   (2016-04-17 01:32) [1]

драйвер ODBC пишет что сервер sql ->has gone away


 
ухты ©   (2016-04-17 04:05) [2]

Сделать хранимую процедуру и передавать в нее как xml или подобное. В хранимой перекидать в таблицу сразу всей пачкой.


 
KilkennyCat ©   (2016-04-17 06:48) [3]

Любопытно, что за данные так прут?
Может, имеет смысл разделить задачу на сохранение вообще (без парсинга и т.д) и формирование бд позжее?


 
Игорь Шевченко ©   (2016-04-17 10:45) [4]

Тут программист нужен


 
Inovet ©   (2016-04-17 14:37) [5]

> [4] Игорь Шевченко ©   (17.04.16 10:45)
> Тут программист нужен

Ты неграмотно пишешь, разве не знаешь, что по новым правилам рчсского языка надо писать глаголы в неопределённой форме с обязательным присутствием буквы "ц" и склонять их к средену роду. Ну да ты деревня, ладно.

Автору. О параметрах надо почитать.


 
дапофик   (2016-04-17 20:32) [6]

параметры здесь мертвому припарка будет.

надо чтобы все данные летели на сервер одним блобом а не построчно вставлялись

например

LOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE "file_name"
   [REPLACE | IGNORE]
   INTO TABLE [db_name.]tbl_name
   [CHARACTER SET charset_name]
   [ROWS IDENTIFIED BY "<tagname>"]
   [IGNORE number {LINES | ROWS}]
   [(field_name_or_user_var,...)]
   [SET col_name = expr,...]


 
sniknik ©   (2016-04-18 10:44) [7]

ИМХО, использовать потоки нужно запретить, и разрешать только по сдаче минимума, как на права...
а то чуть, что делают поток... все еще тормозит? два потока! стало еще медленнее делаем 10 и можно добавить. в итоге борются не с причиной тормозов, а с кривой логикой/реализацией от ненужных потоков.

вот нахрена куча потоков, если sql сервер один?

> Тут программист нужен
+ тыщапицот


 
pavel_guzhanov ©   (2016-04-18 11:33) [8]


> Ты неграмотно пишешь, разве не знаешь, что по новым правилам
> рчсского языка надо писать глаголы в неопределённой форме
> с обязательным присутствием буквы "ц" и склонять их к средену
> роду. Ну да ты деревня, ладно.

Что это было?


 
Inovet ©   (2016-04-18 14:21) [9]

> [8] pavel_guzhanov ©   (18.04.16 11:33)
> Что это было?

Это к тому, что тут не только программист нужен.



Страницы: 1 вся ветка

Текущий архив: 2018.04.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.002 c
15-1472110107
DayGaykin
2016-08-25 10:28
2018.04.15
Целочисленный MulDiv


2-1461142678
Token
2016-04-20 11:57
2018.04.15
Наследник TDataSet и TField.IsNull


11-1266808579
Ruzzz
2010-02-22 06:16
2018.04.15
Стр. функция Format


2-1461228352
vegarulez
2016-04-21 11:45
2018.04.15
Как передать массив в Поток?


3-1316799942
adigozelov
2011-09-23 21:45
2018.04.15
FastaReport print TObject