Опишу проблему:
Есть база в миллион записей, и скрипт который с ней работает.
Скрипт делает следующее - берет строку из базы проверяет данные на другом сайте, и записывает в базу результат, Плюс в ячейку active добавляет "1" - означает что строка уже обработана, и ее проверять ненужно.
После чего переходит к следующей строке в базе с active=0. Т.е. на каждую строку по 2 запроса.
Т.к. база большая - то сильно нагружается сервер. По этому пришлось задуматься как это все дело оптимизировать.
Есть вопрос. Можно ли проверять строки не по очереди, а например по сто штук за раз. Например взяли 100 строк с значением active=0 проверили это дело скриптом, и записали все данные обратно.
Т.е. чтобы не было по 2 обращения к каждой строке (чтение/запись) данных.
А записывать и читать данные кусками (по 100 строк за раз)
Не кидайте камнями, если так сделать нельзя. Говорю сразу - я в танке.
Так же будет неплохо если предложите варианты как можно снизить нагрузку на такую большую базу.
Как сократить кол-во запросов и что вообще в таком случае делать.
|