Because MySQL works faster with integers, the data type of the primary key column should be integer e.g., INT or BIGINT . You can choose a smaller integer type such as TINYINT , SMALLINT , etc. However, you should make sure that the range of values of the integer type for the primary key is sufficient for storing all possible rows that the table may have.