Вы используете REPLACE, когда вы не уверены, существует ли запись в вашей базе данных или если вы не хотите проверять, существует ли она. В основном, что произойдет, если запись существует, она будет удалена и вставлена, если ее нет, она будет вставлена. Это в основном для удобства, но не ANSI SQL.
Обычно для производительности лучше выполнить ОБНОВЛЕНИЕ против УДАЛЕНИЯ / ВСТАВКИ. Поэтому обычно не рекомендуется использовать REPLACE.
Ваше предпочтение всегда должно быть
1. UPDATE
2. DELETE/INSERT (REPLACE)