The primary key for a table represents the column or set of columns that you use in your most vital queries. It
has an associated index, for fast query performance. Query performance benefits from the
NULL optimization, because it cannot include any
NULL values. With the
InnoDB storage engine, the table data is physically organized to do ultra-fast
lookups and sorts based on the primary key column or columns.
If your table is big and important, but does not have an obvious column or set of columns to use as a primary key, you might create a separate column with auto-increment values to use as the primary key. These unique IDs can serve as pointers to corresponding rows in other tables when you join tables using foreign keys.