Count(ColumnName)
зависит от значения столбца. Другие варианты делают то же самое.
Count(*)
медленнее в некоторых базах данных (в том числе MySQL), потому что он извлекает все поля без необходимости. Вот почему часто 'x'
или 1
используется для обеспечения безопасности. SQL Server и Oracle несколько умнее и не получают значения полей, если в этом нет необходимости.
Обратите внимание, что ''
равно NULL
в Oracle (да, это так!), Что может иметь нежелательный эффект. Не проблема для SQL Server, но вы можете использовать 1
для безопасности.