Удаление несуществующей записи в mySQL

Silentland

Новичок
Удаляем в цикле записи из mySQL таблицы. Иногда получается, что в цикле содержатся несколько записей с одинаковым id, т.е. остальные разы запрос на удаление работает вхолостую.

Что быстрее, перебрать в ПХП массив из 2000 элементов, выкинув из него дублирующиеся айдишники, чтобы в итоге пришлось удалить 10 элементов или послать к базе (из 1000 записей) холостые запросы, которых вместе с правильными будет 20?

Что будет правильнее?
 

Absinthe

жожо
2000 элементов массива - огромная нагрузка, наверное перебор по ним будет работать несколько дней даже на суперкомпьютере.

array_unique
 

Silentland

Новичок
Нагрузка небольшая, но если такую операцию будут проделывать 1000 пользователей? Или если будет не 2000, а 2 000 000 элементов?

А зачем вы удалаете в цикле, а не одним запросом?
А будет быстрее? Если в WHERE засунуть проверку 10 элементов ('89' OR '32' OR '13' OR '45' OR '7' ...), а если 100?
 

С.

Продвинутый новичок
Просто обескураживающая наивность (если не сказать невежество).
 

Silentland

Новичок
Я ж не знаю как там WHERE обрабатывает условия, с чем что сравнивает...
 

keltanas

marty cats
Я ж не знаю как там WHERE обрабатывает условия, с чем что сравнивает...
А что мешает в этом разобраться?

Что быстрее, перебрать в ПХП массив из 2000 элементов, выкинув из него дублирующиеся айдишники, чтобы в итоге пришлось удалить 10 элементов или послать к базе (из 1000 записей) холостые запросы, которых вместе с правильными будет 20?
Я не совсем понял, что имеется ввиду во втором случае, но опять же, что мешает написать тест и поделиться результатом с участниками форума?
 
Сверху