postgresql на изменение строк с разными именами, и присвоить строкам с этими именами разные значения, приложил код, чтобы было понятнее , что мне нужно. Возможно ли сделать это всё 1 запросом?
key := []string{"Name1", "Name2", "Name4"}
val := []string{"1", "2", "4"}
for i, _ := range key{
_, err := db.Exec("UPDATE table SET val = $1 WHERE name = $2",val[i], key[i])
if err != nil {
errorLog.Println(err)
return
}
}
Гугли bulk update
И тогда ещё вопрос, повлияет ли на скорость, то что я делаю 1 массовый запрос, вместо большого количества маленьких
по идее когда делаешь булк собираешь все запросы и за одну отправку все выполняется, получается это будет быстрее работать когда надо много строк изменить или добавить
и зависимо от драйвера можно за один раз определенное количество изменить/добавит строк, советую погуглить это если у вас за раз идет больше 100 строк) @kot_eto
Не знал, посмотрю, спасибо.
Обсуждают сегодня