Мне нужно установить значения всех полей записи с определенным ключом (на самом деле это композит), вставив запись, если еще нет записи с таким ключом.
REPLACE, похоже, предназначен для выполнения задания, но в то же время на его странице руководства предлагается
INSERT ... ON DUPLICATE KEY UPDATE.
Что из них мне лучше выбрать и почему?
Единственный "побочный эффект" REPLACE, который приходит мне на ум, заключается в том, что он будет увеличивать значения автоинкремента (к счастью, я их не использую), а INSERT ... ON DUPLICATE KEY UPDATE, вероятно, не будет. Каковы другие практические различия, которые следует учитывать? В каких конкретных случаях REPLACE может быть предпочтительнее INSERT ... ON DUPLICATE KEY UPDATE и наоборот?