Подтвердить что ты не робот

Mysql, ifnull vs coalesce, что быстрее?

если известно, что для результата столбца есть только два значения,

ifnull(a, b) as a_or_b_1

и

coalesce(a, b) as a_or_b_2

даст тот же результат. но что быстрее? при поиске я нашел эту статью, в которой говорится, что ifnull работает быстрее. но это была единственная статья, которую я нашел. любые взгляды на это?

заблаговременно:)

4b9b3361

Ответ 1

Мое мнение состоит в том, что вам следует ориентироваться на ваше использование.

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

Также обратите внимание, что COALESCE является частью стандартного SQL с 1992 года - я не уверен, что IFNULL еще не существует.

Там хорошая статья Адама Мачанича о сравнительном анализе эквивалентного сценария - Производительность: ISNULL и COALESCE (в SQL Server). Обратите внимание на некоторые из условий получения действительного теста.