MySQL загрузить большей объем данных

LiMe

Client
Регистрация
10.12.2015
Сообщения
595
Благодарностей
316
Баллы
63
Добрый день, подскажите пожалуйста есть большой текстовый файл на 5-10 млн. строк, нужно загрузить его в БД, сейчас выделаю подписок (беру по 1000 строк, чтобы освободить очередь обращения к файлу) и загружаю по одной почте, занимает это длительное время. Подскажите пожалуйста, как можно этот вопрос ускорить?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
в один запрос совать много строк
 
  • Спасибо
Реакции: Mikhail B.

LiMe

Client
Регистрация
10.12.2015
Сообщения
595
Благодарностей
316
Баллы
63
В Zenno, это очень криво организовано, для каждой почты надо создавать отдельную переменную и сувать в запрос, нельзя грубо говоря подготовить почты для запроса и скопом их отправить. Может кто-то знает как это можно на C# сделать и может помочь?:ah:
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 430
Баллы
113
Сразу скажу, что придется конфиги мускула повышать. А то от таких запросов может лечь по таймауту.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
В Zenno, это очень криво организовано, для каждой почты надо создавать отдельную переменную и сувать в запрос, нельзя грубо говоря подготовить почты для запроса и скопом их отправить. Может кто-то знает как это можно на C# сделать и может помочь?:ah:
глупости. Берёшь N почт, формируешь запрос. Суёшь его в кубик бд
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
595
Благодарностей
316
Баллы
63
глупости. Берёшь N почт, формируешь запрос. Суёшь его в кубик бд
Я пытался реализовать подобным способом, мой запрос:

Код:
INSERT INTO
    `{-Variable.Table-}` (`{-Variable.Column-}`)
VALUES
    ({-Variable.Mail-})
В переменой Mail лежат почты с разделителем ),( т.е. чтобы по факту получился полноценный запрос, но в данном случае вылазит ошибка. Тыкните пожалуйста носом, что я не так сделал.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 430
Баллы
113
MySQL-5.6-x64

Код:
INSERT INTO `таблица`(`почта`, `пароль`) VALUES (?,?)
2019-05-10_141941.jpg
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
595
Благодарностей
316
Баллы
63
MySQL-5.6-x64

Код:
INSERT INTO `таблица`(`почта`, `пароль`) VALUES (?,?)
Посмотреть вложение 38568
Примерно так и идет сейчас, но мы подставляем по одному значению и при таком объеме строк, это занимает длительное время. А грузить одним запросом хотя бы по 100 строк данных не получается через стандартный экшен, так как для каждого элемента нужна отдельная переменная для того чтобы указать ее в теле запроса.
 

inilim

Client
Регистрация
16.09.2017
Сообщения
441
Благодарностей
170
Баллы
43
Ставьте openserver.
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 430
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
с бд кроме как через зенно есть возможность работать?
 

capturis

Client
Регистрация
21.12.2013
Сообщения
41
Благодарностей
19
Баллы
8
Код:
INSERT INTO tbl_name
    (a,b,c)
VALUES
    (1,2,3),
    (4,5,6),
    (7,8,9);
Гуглить надо sql, а не зенку. Из чего обращаться к базе разницы нету.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Код:
INSERT INTO tbl_name
    (a,b,c)
VALUES
    (1,2,3),
    (4,5,6),
    (7,8,9);
Гуглить надо sql, а не зенку. Из чего обращаться к базе разницы нету.
оно понятно, но если у него есть пхпмайадмин, например, он может там сделать сформированный запрос и убедиься, что проблема именно в запросе, а не в зенно. Альтернатива для тестирования всегда быстрее помогает разобраться в чём дело
 

capturis

Client
Регистрация
21.12.2013
Сообщения
41
Благодарностей
19
Баллы
8
оно понятно, но если у него есть пхпмайадмин, например, он может там сделать сформированный запрос и убедиься, что проблема именно в запросе, а не в зенно. Альтернатива для тестирования всегда быстрее помогает разобраться в чём дело
Ну хз, если при такой задаче человек упоминает очередь обращения к файлу, видимо он воюет не туда. В этом случае надо показать ситаксис запроса, а не общие рекомендации, КМК.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
я спрашивал это не для реализации решения, а просто есть ли альтернатива для проверки запроса
Не, ну ладно-ладно... Чего ты так категорично сразу...
 

Шива

Client
Регистрация
05.02.2018
Сообщения
1 084
Благодарностей
339
Баллы
83
А почему бы просто не сделать sql дамп и залить его?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)