![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Zorak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 -------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Не проще ли записать во временную таблицу все значения из mas1 и состряпать пару запросов - что выводить в лог и второй - что сохранять в базу.
Вставка - простая простыня из insert values... Если удастся ее уместить в 64к, то это один запрос (при обычных настройках mysql) Остальное - еще пара запросов. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Zorak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
хм.. т.е. длругими словами разбить выполнение на части ?
-------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Ну, в принципе, да. Дать возможность mysql выполнить всю работу и только вывести результат. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Zorak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
блин, как я боялся этого ответа )))))))
Добавлено через 15 секунд Спасибо большое.. ушол делать) -------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
1. временная таблица с движком memory.
2. запись в базу отсутствующих записей — один запрос insert … select … on duplicate key ignore или аналог 3. В лог закидываются все записи из таблицы с перезаписью тех, что были. |
|||
|
||||
Zorak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
Воспользовался принципом SkyBoy и ksnk.... спасибо вам большое, вопрос решен.
-------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |