count(*) vs count(primary key) vs count(1)

  mysql, question

MySQL SELECT COUNT (*) vs COUNT (PRIMARY KEY) vs COUNT (1) What is the difference and which is more efficient?
At present, my understanding is that count(*) is generally recommended, but I am not clear about the principle. Who can help me analyze it carefully?

` * ` | `primarykey` | `1` all mean Not Null
 
 So, I think there should be no big difference