powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как быстро вставить 500М из текстового файла?
17 сообщений из 42, страница 2 из 2
Как быстро вставить 500М из текстового файла?
    #33962731
anonymous99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо.
Тогда так.
Мне надо сформировать запрос типа "INSERT INTO table (name, surname) VALUES ('Name', 'Surname');".
Для каждой записи в текстовом файле мне надо писать этот запрос, а потом его выполнять?
Или будет быстрее сразу сформировать несолько таких "insert into" в одном string и затем их все сразу выполнить?
Есть ли разница по скорости?
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963147
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется вполне очевидным то, что узким местом будет загрузка в БД, а не чтение и парсинг файла с данными. По поводу загрузки - хорошо, если есть bulk insert. Я бы ещё и индекс отключил и построил бы его после загрузки. Оптимизация чтения файла явно не нужна.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963183
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anonymous99Хорошо.
Тогда так.
Мне надо сформировать запрос типа "INSERT INTO table (name, surname) VALUES ('Name', 'Surname');".
Для каждой записи в текстовом файле мне надо писать этот запрос, а потом его выполнять?
Или будет быстрее сразу сформировать несолько таких "insert into" в одном string и затем их все сразу выполнить?
Есть ли разница по скорости?
Лучше сформировать файл типа CSV и загрузить его. Многие БД поддерживают процедуру подобной загрузки. Т.е., возможно, вообще ничего писать не надо, поскольку эти процедуры позволяют настраивать разделители.
LOAD INTO ...
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963276
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://]http://dev.mysql.com/doc/refman/4.1/en/load-data.html
По ссылке - документация MySQL LOAD INTO
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963293
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
niknameMySQL
Не стоит спешить, мы пока так и не узнали у автора какая БД используется...
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963311
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitrii K. niknameMySQL
Не стоит спешить, мы пока так и не узнали у автора какая БД используется...
LOAD INTO есть в большинстве БД.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963353
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikname Dmitrii K. niknameMySQL
Не стоит спешить, мы пока так и не узнали у автора какая БД используется...
LOAD INTO есть в большинстве БД.
Да понятно, см. пред. страницу, я уже приводил пример SQL*Loader )

Просто преждевременно конкретизировать, пока мы не знаем целевой БД.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963542
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K. DK> Просто преждевременно конкретизировать, пока мы не знаем
DK> целевой БДи похоже не узнаем :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963612
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Dmitrii K. DK> Просто преждевременно конкретизировать, пока мы не знаем
DK> целевой БДи похоже не узнаем :)
Posted via ActualForum NNTP Server 1.3

Угу. А если узнать постановку в оригинале... то и текстовик наверное создавать не стоило.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963616
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton m> Угу. А если узнать постановку в оригинале... то и
m> текстовик наверное создавать не стоилоЧто-то подсказывает мне, что исходный файл ему присылают ....
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963624
сикока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вот так всегда, народ возбудился, а возбудитель смылся:)
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963656
anonymous99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:))
Да тут я. Это вопрос на собеседовании в Яндекс. :)
---
Вот он полностью:
Вам нужно создать в MySQL таблицу со следующей структурой
CREATE TABLE `URL_IDS` (
`ID` INTEGER(11) NOT NULL AUTO_INCREMENT,
`PICTURE_ID` INTEGER(11) NOT NULL UNIQUE,
`URL` VARCHAR(255) NOT NULL,
PRIMARY KEY (`ID`, `URL`))TYPE=MyISAM ;


и быстро вставить в нее 100M записей из файла.
Опишите, как бы вы стали реализовывать эту задачу.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963658
anonymous99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конкретные условия задачи не так важны. Мне интересна методология. Да и вопрос этот не на SQL, а на C++.
Наверно в нем предполагается использовать один из стандартных контейнеров.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33963745
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anonymous99Конкретные условия задачи не так важны. Мне интересна методология. Да и вопрос этот не на SQL, а на C++.
Наверно в нем предполагается использовать один из стандартных контейнеров.

http://company.yandex.ru/inside/job/comm_developer.xml
Вопрос 3 Базы данных/SQL.

Вам нужно создать в MySQL таблицу со следующей структурой


Сходите по ссылке, которую приводил nikname (он таки угадал с базой ) ).
Ну и спросите в форуме по MySQL, скорее всего это типичная задача.
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33965608
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anonymous99Наверно в нем предполагается использовать один из стандартных контейнеров.нет, в вопросе подразумевается стандартный способ заливки в мускул большого объёма данных - load data infile
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33972518
anonymous99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нить в C/C++ это делал? Просвятите, где почитать. Я не в курсах. Надо C API использовать? Или mysql++?
...
Рейтинг: 0 / 0
Как быстро вставить 500М из текстового файла?
    #33973285
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://dev.mysql.com/doc/refman/5.0/en/c-api-function-overview.html
прокрути табличку и читай.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как быстро вставить 500М из текстового файла?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]