Если вы собираетесь использовать регистры CURRENT_DATE
и CURRENT_TIME
, я ожидаю, что было бы лучше всего использовать их в выражении SQL, которое нуждается в них.Ваш второй пример включает три запроса к базе данных, в то время как первый пример только один.Поэтому я подозреваю, что первый будет работать лучше, так как все три имеют одинаковые издержки (получить этот регистр), но у второго накладные расходы три раза по сравнению с одним.
Кроме того, первое легче читать (самое важное, ИМО, если это не так).То есть нет необходимости оптимизировать, если вам это не нужно.Конечно, если бы я захотел получить текущую дату и время в RPG, я бы не использовал SQL для этого, но встроенную RPG вроде %date()
или %time()
; -)
Редактировать: Здесь есть некоторые неэффективные соображения.Если вы хотите, чтобы одна и та же дата / время были во всех строках, во всех обновлениях, вам придется заранее фиксировать дату и время.Если вы хотите, чтобы фактические дата и время обновления, вы захотите использовать регистры.Однако SQL делает одну приятную вещь: если вы используете CURRENT_DATE
, CURRENT_TIME
или CURRENT_TIMESTAMP
или какое-то их сочетание несколько раз в одном операторе SQL, все обновленные строки будут иметь одинаковую дату, время и метку временидля данного исполнения заявления.