Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL / 11 сообщений из 11, страница 1 из 1
13.03.2015, 14:00
    #38903865
Тратата
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
получаю данные из файла при помощи PHP fread()
как лучше и быстрее их потом вносить в бд?
...
Рейтинг: 0 / 0
13.03.2015, 14:53
    #38903968
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
Некоторые СУБД умеют читать данные непосредственно из файла, даже позиционируют этот вариант как самый быстрый способ загрузки данных.
...
Рейтинг: 0 / 0
13.03.2015, 14:56
    #38903975
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
сгенерируй sql файл с пакетной вставкой, когда в одном insert into данные для нескольких десятков-сотен строк - вставлять будет практически моментально
...
Рейтинг: 0 / 0
13.03.2015, 15:24
    #38904039
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
LOAD DATA INFILE
...
Рейтинг: 0 / 0
13.03.2015, 15:36
    #38904068
Тратата
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
я работаю с MySQL, файл откуда я беру инфу формата *.dbf (FoxPro,dBase)
я его читаю fread() бинарное чтение
у меня мысля такая перегнать в txt с разделителем | . Далее LOAD DATA INFILE
это быстрее,чем *.sql формировать?

P.S. тестить буду ночью, сейчас нужно набросать все варианты
...
Рейтинг: 0 / 0
13.03.2015, 15:37
    #38904069
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
Трататау меня мысля такая перегнать в txt с разделителем | . Далее LOAD DATA INFILE
это быстрее,чем *.sql формировать?Да, быстрее.
...
Рейтинг: 0 / 0
13.03.2015, 15:52
    #38904101
Тратата
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
сейчас fwrite() делал 40мб
плин долго пишет в файл, так не пойдет
а есть какая альтернатива потоком сразу вносить (аналог LOAD DATA INFILE) ?
по времени долговато пишет в файл, а файлики с данными могут быть и 500мб
...
Рейтинг: 0 / 0
13.03.2015, 15:59
    #38904112
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
Трататаейчас fwrite() делал 40мб
плин долго пишет в файл, так не пойдетДолго - это сколько? И уверены, что долго идет именно запись, а не разбор dbf, например?
...
Рейтинг: 0 / 0
13.03.2015, 17:41
    #38904323
Тратата
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
miksoft, разбор там быстро делается
ну где-то 40 мб пишет в файл 15-20 сек, для меня это не быстро
в принцепе пойдет, если других вариантов быстрее нету
если бы был вариант через оперативную память вместо файла, было бы быстрее конечно
...
Рейтинг: 0 / 0
13.03.2015, 17:49
    #38904335
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
Трататану где-то 40 мб пишет в файл 15-20 сек, для меня это не быстроЭто вы что-то не так делаете. Не должно быть так медленно.
У меня на даже виртуальном хостинге сам MySQL аналогичный объем быстрее в себя загружал, хотя работы там намного больше, чем просто работа с файлом.
...
Рейтинг: 0 / 0
13.03.2015, 17:56
    #38904350
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL
Тратата40 мб пишет в файл 15-20 сек, для меня это не быстроЭто и для файловой системы не быстро. Возможно, алгоритм слишком не оптимален.

Трататаесли бы был вариант через оперативную память вместо файла, было бы быстрее конечноНу а что мешает? По мере вытягивания данных из dbf формируйте текст sql-запроса INSERT к мускулю. Набрали какое-то количество записей (или объём данных) - выполнили запрос. Так порциями и закидываете все данные.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP Получаю данные из файла, нужен быстрый метод перегнать в MySQL / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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