Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработать много данных 
V
    Опции темы
Zorak
Дата 26.4.2013, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Доброго времени суток. В принципе может мои опасения напрасны, то отпишите пжлста). И так...
Хочу написать скрипт, который будет обрабатывать данные и результат писать в базу.
Вот шаги работы скрипта:
1. Открываем файл и считываем его в массив mas1
2. Считываем SELECT-ом данные из базы и опять загоняем в массив mas2
3. Далее бежим от начала до конца mas1. Проверяем наличие записи mas1[i] в mas2 (т.е. in_array());
4. Далее
4.1. Если in_array == true -> делаем запись в лог-файл
4.2. Если in_array == false -> пишем ету строку в базу

Мои опасения: Количество строк  в mas1 неизвестно, но их будет минимум как 500... но не думаю что будет больше чем 40 000.

Вопрос: справится ли PHP с такой задачей ? Какие может настройки в php.ini надо изменить чтобы ему было проще? 

З.Ы. Файл у меня создается при выполнении скомпиленной программы на delphi. По условиям клиента ета программа у них работает почти по 20 часов в сутки. По сути она мониторит большой набор сайтов и выбирает оттуда определенные данные и после фильтрации нужные записывает в файл, который пересоздается раз в сутки. Поэтому я не могу даже предположить сколько там будет записей. 

Спасибо

Это сообщение отредактировал(а) Zorak - 26.4.2013, 16:00


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
ksnk
Дата 26.4.2013, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Не проще ли записать во временную таблицу все значения из mas1 и состряпать пару запросов - что выводить в лог и второй - что сохранять в базу.

Вставка - простая простыня из insert values... Если удастся ее уместить в 64к, то это один запрос (при обычных настройках mysql)

Остальное - еще пара запросов.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Zorak
Дата 26.4.2013, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



хм.. т.е. длругими словами разбить выполнение на части ?


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
ksnk
Дата 26.4.2013, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(Zorak @  26.4.2013,  17:40 Найти цитируемый пост)
т.е. длругими словами разбить выполнение на части ? 

Ну, в принципе, да. Дать возможность mysql выполнить всю работу и только вывести результат.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Zorak
Дата 26.4.2013, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



блин, как я боялся этого ответа )))))))

Добавлено через 15 секунд
Спасибо большое.. ушол делать)


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
skyboy
Дата 26.4.2013, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



1. временная таблица с движком memory.
2. запись в базу отсутствующих записей — один запрос insert … select … on duplicate key ignore или аналог
3. В лог закидываются все записи из таблицы с перезаписью тех, что были.
PM MAIL   Вверх
Zorak
Дата 29.4.2013, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Воспользовался принципом SkyBoy и ksnk.... спасибо вам большое, вопрос решен.


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1166 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.