Как лучше оптимизировать работу с БД MySQL для 500к записей?
Нужно как-то оптимизировать работу с БД. Собственно, как лучше это сделать?
Исходные данные
- Есть таблица в БД пусть
table
, в ней в записях есть числовые поляpoint_id
иnot_found
. Остальные поля не важны. - В памяти висит список порядка из 500 000 номеров (а точнее записей, в которых есть номер)
Нужно организовать две операции
- В таблицу
table
добавить все записи из списка в памяти, но только тех, которых еще там нет - по полюpoint_id
- В таблице
table
изменить полеnot_found
на 1 во всех записях, которые отсутствуют в списке висящем в памяти, по полюpoint_id
Смущает количество 500 000. Были бы десятки или сотни, можно было бы как-то поиграться с IN, NOT IN.
А в этом случае как правильно поступить?