![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
Всем привет.
Впервые с толкнулся с задачей, где нужно перебрать csv файл и загнать в БД. Проблема оказалась в том, что периодически пользователь должен скачивать файл *.csv с количеством строк больше миллиона!!! (Мать его так...) Пробовали работать в эксель, но эксель мах 1024 тыс строк. Power Pivot намного быстрее, но не все нужные функции поддерживает. Хотел загнать в БД и выводить отчеты нужные. Парсинг сделал, обрабатывает с нормальной скоростью... Но при попытке загонять в БД ловлю огромезные тормоза... примерно 20000 строк в минуту, я даже не стал ждать до окончания. Возможно, даже скорее всего я выбрал не правильный алгоритм. Вопрос: Может ли кто подсказать, каким алгоритмом загонять данные в таблицу? Код:
В кратце об алгоритме: Перечитываем файл и загоняем всё в двумерный массив (происходит быстро). Затем, построчно, загоняю в БД (каждая строка - отдельный запрос ExecSQL). "Люди, добрый, помогите кто чем может..." |
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Цитата:
https://www.programmersforum.ru/show...59&postcount=4 Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 07.09.2020 в 10:50. |
||
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
Ага, логику увидел, спс, пробую
|
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]() Код:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
хм, в общем на 100000 строк скорость увеличилась на 1 минуту (ранее операция занимала 14,5 мин, теперь 13,5 мин)
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
![]()
а что именно тормозит?
MySQL или разбор ? что будет если исключить Код:
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
тормозит именно MySQL.
Разбор работает быстро - Результат примерно 1-2 сек 99900 строк |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
Вот что странно, SSD диск при этом нагружен очень сильно
Снимок2.PNG Получается что это самое слабое звено? Снимок3.PNG |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
Снимок321.PNG
Ачуметь, на MS SQL Server 2016 - 21 гребаная секунда!!! Подозреваю, помогло то, что я начальный размер базы указал 512мб с расширением в 64мб. Как считаете, могло это повлиять на скорость? Если могло, то как задать начальный размер MySQL базы с указанием авто увеличением размера? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[DELPHI + MySQL на хостинге] Возможен ли обмен сообщениями между компьютерами через MySQL на сайте? | garuna | БД в Delphi | 5 | 21.08.2019 19:50 |
mySQL+DELPHI от и до | shuhermayer | SQL, базы данных | 21 | 20.10.2011 21:22 |
Mysql+Delphi 2010 Использую libmysql.dll + mysql.pas не могу инф сохранить в базу | kGpROGER | БД в Delphi | 7 | 30.12.2010 18:27 |
Delphi+MySQL | prod87 | БД в Delphi | 2 | 18.08.2010 10:09 |