Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Братцы как ускорить процесс?


Signal ©   (2016-04-17 01:31:00) 

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

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

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


Inovet   (2016-04-18 14:21:00) [1]

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

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


pavel_guzhanov   (2016-04-18 11:33:00) [2]


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

Что это было?


sniknik   (2016-04-18 10:44:00) [3]

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

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

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


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

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

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

например

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,...]


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

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

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

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


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

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


KilkennyCat   (2016-04-17 06:48:00) [7]

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


ухты   (2016-04-17 04:05:00) [8]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо