За последние 24 часа нас посетили 17145 программистов и 1298 роботов. Сейчас ищут 1537 программистов ...

Кто-нибудь работает на Хостинге?

Тема в разделе "MySQL", создана пользователем Mat, 2 фев 2007.

  1. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Интересно как отнесуться хостеры к запросу в цикле? примерно 4,5к раз... обработка занимает 24-29 секунд, не знаю что делать :( или это нормально?

    Запрос типа:
    "Это справочник товаров", вся операция происходит довольно редко - в момент обновления (проверка на наличие существующих записей), точнее должна будет происходить.... сейчас где то на 30сек ставит проц в состояние загрузки 100%....что посоветуете?"
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    угу, интересно.
    проверь разок.
     
  3. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Наверное, следует написать скрипт так, чтобы он выполнял операцию по блокам - первый блок (200-500 запросов), пауза несколько секунд, автоматический переход к следующему блоку и т.д.

    Неужели нельзя решить задачу по-другому? Без тысяч запросов? :?
     
  4. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    хм.... заливать готовый MySQL только - тоже вариант.... больше в голову ничего не приходит пока...

    Я смотрю ты дерзкий какой то или считаешь себя не****цо умным?
     
  5. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    запрос в цикле - зло.
     
  6. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    заблокировал бы сразу до тех пор, пока не исправишь. если подразумевается shared-хостинг.
     
  7. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    :? Ты уж определись, что обо мне думаешь, а то и обозвал, и вопрос задал. Я прям теряюсь, что ответить.

    а ведь, что я сказал:
    Ведь действительно интересно. А как узнать - проверить! Или в службу поддержки написать!
     
  8. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Не очень приятно когда надеешься на помощь, а в ответ пытаются язвить и острить... показывая какой ты 'недалёкий' в этом отношении человек, видимо упуская из внимания, что ВЫ "Hight" когда-то тоже начинали...
    если вопрос возмущает своей наивностью - не отвечайте вобще или давайте URL какой-нибудь.
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Mat
    понятно, юмора вы не понимаете.
     
  10. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    ну говорите "ЛОПАТА", чтобы я понял....
     
  11. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    переделывайте.
     
  12. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Mat
    Сколько всего записей в таблице? Миллион? Или меньше? Если значительно меньше, может стоит выдернуть всю таблицу? В чем заключается задача? Меня терзают смутные сомнения, что ее можно решить по-другому... но для начала неплохо бы услышать немного подробностей.
     
  13. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Всё просто, Справочник товаров в MySQL (4,5к записей, весом 479кб) нужно его обновить... в базе хранится "Артикул" и "Наименование товара", так вот если изменилось название или новая позиция появилась, её нужно добавить или обновить старую. Необходима проверка, грубо-говоря сравнение "нового" со "старым"... всётаки обдумываю вариант проделать это у себя на компе, а потом *.frm, *.MID и *.MYI залить на серв с заменой "старого", но вероятней всего будет ошибка файловой системы, если в данный момент с базой кто-нибудь работает(обрабатываются запросы) как этого избежать? или есть, что по-проще?
     
  14. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    вот этого и не хочетца )))
     
  15. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    изменения/новые записи откуда берутся? другая таблица?
     
  16. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Изменения/новые записи берутся из рабочей базы: выгружается справочник в Ecxel далее в CSV, далее работаю с CSV и MySql.
     
  17. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    зачем это делать так? 500Кб (?) это крохи - заливайте новый дамп командой "mysql ... < table.sql"
     
  18. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Я понимаю, что крохи... я ещё ищу вариант как?

    Нельзя ли по-подробней про *.sql? Уверен там пара функций пользуется, о которых мне неизвестно просто :(

    пс: пример решает..
     
  19. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    есть phpMyAdmin? создайте в нем дамп любой своей таблицы и изучите его подробно... это простой текстовый файл.

    Вот этот текстовый файл с дампом базы нужно скормите mysql в командной строке.
     
  20. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    ок, зделал... да, действительно быстрее - где то в три раза примерно, уже 10 секунд в среднем - загрузка 100%... но мне кажется это тоже многовато...

    вот вопрос simpson'у: как бы ты отнёсся, если уже раз в день, стабильно, проц так подгружался.. (10 сек)... по побольшому счёту, если сильный серв это даже незаметно должно быть (всмысле мощнее моего компа, а он у меня не самый самый)..... хрен знает, может я паникёр?


    пс: но вот всётаки, если тупо копировать новые файлы в папку с заменой старых и не использовать при этом двигло SQLя, как при дампе - проц по-идее вобще не будет нагружен, это быстрее всего мне кажеться.

    Точняк! Удалить таблицу через ПхП - 1 сек, а потом залить туда три файлика ещё 1 сек - есть мысли по этому поводу? Это практикуется вобще или есть тонкость о которой я не знаю?
     
  21. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    перед заливкой нужно остановить демон mysqld а после - стартануть.