|
|
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Хорошо. Тогда так. Мне надо сформировать запрос типа "INSERT INTO table (name, surname) VALUES ('Name', 'Surname');". Для каждой записи в текстовом файле мне надо писать этот запрос, а потом его выполнять? Или будет быстрее сразу сформировать несолько таких "insert into" в одном string и затем их все сразу выполнить? Есть ли разница по скорости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 16:04 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Мне кажется вполне очевидным то, что узким местом будет загрузка в БД, а не чтение и парсинг файла с данными. По поводу загрузки - хорошо, если есть bulk insert. Я бы ещё и индекс отключил и построил бы его после загрузки. Оптимизация чтения файла явно не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 17:44 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
anonymous99Хорошо. Тогда так. Мне надо сформировать запрос типа "INSERT INTO table (name, surname) VALUES ('Name', 'Surname');". Для каждой записи в текстовом файле мне надо писать этот запрос, а потом его выполнять? Или будет быстрее сразу сформировать несолько таких "insert into" в одном string и затем их все сразу выполнить? Есть ли разница по скорости? Лучше сформировать файл типа CSV и загрузить его. Многие БД поддерживают процедуру подобной загрузки. Т.е., возможно, вообще ничего писать не надо, поскольку эти процедуры позволяют настраивать разделители. LOAD INTO ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 17:51 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
http://]http://dev.mysql.com/doc/refman/4.1/en/load-data.html По ссылке - документация MySQL LOAD INTO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 18:12 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
niknameMySQL Не стоит спешить, мы пока так и не узнали у автора какая БД используется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 18:16 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. niknameMySQL Не стоит спешить, мы пока так и не узнали у автора какая БД используется... LOAD INTO есть в большинстве БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 18:21 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
nikname Dmitrii K. niknameMySQL Не стоит спешить, мы пока так и не узнали у автора какая БД используется... LOAD INTO есть в большинстве БД. Да понятно, см. пред. страницу, я уже приводил пример SQL*Loader ) Просто преждевременно конкретизировать, пока мы не знаем целевой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 18:35 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. DK> Просто преждевременно конкретизировать, пока мы не знаем DK> целевой БДи похоже не узнаем :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 20:00 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас Dmitrii K. DK> Просто преждевременно конкретизировать, пока мы не знаем DK> целевой БДи похоже не узнаем :) Posted via ActualForum NNTP Server 1.3 Угу. А если узнать постановку в оригинале... то и текстовик наверное создавать не стоило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 20:52 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
mayton m> Угу. А если узнать постановку в оригинале... то и m> текстовик наверное создавать не стоилоЧто-то подсказывает мне, что исходный файл ему присылают .... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 20:55 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
ну вот так всегда, народ возбудился, а возбудитель смылся:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 21:06 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
:)) Да тут я. Это вопрос на собеседовании в Яндекс. :) --- Вот он полностью: Вам нужно создать в 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 записей из файла. Опишите, как бы вы стали реализовывать эту задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 21:25 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Конкретные условия задачи не так важны. Мне интересна методология. Да и вопрос этот не на SQL, а на C++. Наверно в нем предполагается использовать один из стандартных контейнеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 21:27 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
anonymous99Конкретные условия задачи не так важны. Мне интересна методология. Да и вопрос этот не на SQL, а на C++. Наверно в нем предполагается использовать один из стандартных контейнеров. http://company.yandex.ru/inside/job/comm_developer.xml Вопрос 3 Базы данных/SQL. Вам нужно создать в MySQL таблицу со следующей структурой Сходите по ссылке, которую приводил nikname (он таки угадал с базой ) ). Ну и спросите в форуме по MySQL, скорее всего это типичная задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 22:59 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
anonymous99Наверно в нем предполагается использовать один из стандартных контейнеров.нет, в вопросе подразумевается стандартный способ заливки в мускул большого объёма данных - load data infile ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2006, 15:32 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
Кто-нить в C/C++ это делал? Просвятите, где почитать. Я не в курсах. Надо C API использовать? Или mysql++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 21:59 |
|
||
|
Как быстро вставить 500М из текстового файла?
|
|||
|---|---|---|---|
|
#18+
http://dev.mysql.com/doc/refman/5.0/en/c-api-function-overview.html прокрути табличку и читай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33965608&tid=2030546]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 476ms |

| 0 / 0 |
