|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.09.2020, 12:42 | #1 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
MySQL Delphi *.csv
Всем привет.
Впервые с толкнулся с задачей, где нужно перебрать csv файл и загнать в БД. Проблема оказалась в том, что периодически пользователь должен скачивать файл *.csv с количеством строк больше миллиона!!! (Мать его так...) Пробовали работать в эксель, но эксель мах 1024 тыс строк. Power Pivot намного быстрее, но не все нужные функции поддерживает. Хотел загнать в БД и выводить отчеты нужные. Парсинг сделал, обрабатывает с нормальной скоростью... Но при попытке загонять в БД ловлю огромезные тормоза... примерно 20000 строк в минуту, я даже не стал ждать до окончания. Возможно, даже скорее всего я выбрал не правильный алгоритм. Вопрос: Может ли кто подсказать, каким алгоритмом загонять данные в таблицу? Код:
В кратце об алгоритме: Перечитываем файл и загоняем всё в двумерный массив (происходит быстро). Затем, построчно, загоняю в БД (каждая строка - отдельный запрос ExecSQL). "Люди, добрый, помогите кто чем может..." |
07.09.2020, 10:46 | #2 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
https://www.programmersforum.ru/show...59&postcount=4 Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 07.09.2020 в 10:50. |
||
07.09.2020, 10:49 | #3 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
Ага, логику увидел, спс, пробую
|
07.09.2020, 10:57 | #4 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Код:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
07.09.2020, 12:22 | #5 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
хм, в общем на 100000 строк скорость увеличилась на 1 минуту (ранее операция занимала 14,5 мин, теперь 13,5 мин)
|
07.09.2020, 14:04 | #6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
а что именно тормозит?
MySQL или разбор ? что будет если исключить Код:
программа — запись алгоритма на языке понятном транслятору
|
07.09.2020, 14:19 | #7 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
тормозит именно MySQL.
Разбор работает быстро - Результат примерно 1-2 сек 99900 строк |
07.09.2020, 14:54 | #8 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
Код:
|
07.09.2020, 15:05 | #9 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
Вот что странно, SSD диск при этом нагружен очень сильно
Снимок2.PNG Получается что это самое слабое звено? Снимок3.PNG |
09.09.2020, 16:24 | #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 |