Интересно как отнесуться хостеры к запросу в цикле? примерно 4,5к раз... обработка занимает 24-29 секунд, не знаю что делать или это нормально? Запрос типа: "Это справочник товаров", вся операция происходит довольно редко - в момент обновления (проверка на наличие существующих записей), точнее должна будет происходить.... сейчас где то на 30сек ставит проц в состояние загрузки 100%....что посоветуете?"
Наверное, следует написать скрипт так, чтобы он выполнял операцию по блокам - первый блок (200-500 запросов), пауза несколько секунд, автоматический переход к следующему блоку и т.д. Неужели нельзя решить задачу по-другому? Без тысяч запросов? :?
хм.... заливать готовый MySQL только - тоже вариант.... больше в голову ничего не приходит пока... Я смотрю ты дерзкий какой то или считаешь себя не****цо умным?
:? Ты уж определись, что обо мне думаешь, а то и обозвал, и вопрос задал. Я прям теряюсь, что ответить. а ведь, что я сказал: Ведь действительно интересно. А как узнать - проверить! Или в службу поддержки написать!
Не очень приятно когда надеешься на помощь, а в ответ пытаются язвить и острить... показывая какой ты 'недалёкий' в этом отношении человек, видимо упуская из внимания, что ВЫ "Hight" когда-то тоже начинали... если вопрос возмущает своей наивностью - не отвечайте вобще или давайте URL какой-нибудь.
Mat Сколько всего записей в таблице? Миллион? Или меньше? Если значительно меньше, может стоит выдернуть всю таблицу? В чем заключается задача? Меня терзают смутные сомнения, что ее можно решить по-другому... но для начала неплохо бы услышать немного подробностей.
Всё просто, Справочник товаров в MySQL (4,5к записей, весом 479кб) нужно его обновить... в базе хранится "Артикул" и "Наименование товара", так вот если изменилось название или новая позиция появилась, её нужно добавить или обновить старую. Необходима проверка, грубо-говоря сравнение "нового" со "старым"... всётаки обдумываю вариант проделать это у себя на компе, а потом *.frm, *.MID и *.MYI залить на серв с заменой "старого", но вероятней всего будет ошибка файловой системы, если в данный момент с базой кто-нибудь работает(обрабатываются запросы) как этого избежать? или есть, что по-проще?
Изменения/новые записи берутся из рабочей базы: выгружается справочник в Ecxel далее в CSV, далее работаю с CSV и MySql.
Я понимаю, что крохи... я ещё ищу вариант как? Нельзя ли по-подробней про *.sql? Уверен там пара функций пользуется, о которых мне неизвестно просто пс: пример решает..
есть phpMyAdmin? создайте в нем дамп любой своей таблицы и изучите его подробно... это простой текстовый файл. Вот этот текстовый файл с дампом базы нужно скормите mysql в командной строке.
ок, зделал... да, действительно быстрее - где то в три раза примерно, уже 10 секунд в среднем - загрузка 100%... но мне кажется это тоже многовато... вот вопрос simpson'у: как бы ты отнёсся, если уже раз в день, стабильно, проц так подгружался.. (10 сек)... по побольшому счёту, если сильный серв это даже незаметно должно быть (всмысле мощнее моего компа, а он у меня не самый самый)..... хрен знает, может я паникёр? пс: но вот всётаки, если тупо копировать новые файлы в папку с заменой старых и не использовать при этом двигло SQLя, как при дампе - проц по-идее вобще не будет нагружен, это быстрее всего мне кажеться. Точняк! Удалить таблицу через ПхП - 1 сек, а потом залить туда три файлика ещё 1 сек - есть мысли по этому поводу? Это практикуется вобще или есть тонкость о которой я не знаю?