And why should it work better with count(<column>) instead of count(*)?

The only condition where it might have an impact would be if there is a not null constraint or an index on the column. If there is no nut null constraint on the column the database would have to check if the column is not null and count those instead of simply count all. If there is an index the database might decide to use the index to count the rows. So far it isn't known if any of the above is the case, and as far as we know the column is allowed to have null values, so count(<column>) and count(*) can also give you different results which might be wrong.