Al crear un volcado de mysql, que contiene la estructura de mi base de datos, una de las tablas muestra lo siguiente:clave primaria versus clave
CREATE TABLE `completedTransactions` (
`paymentId` int(10) unsigned NOT NULL,
`timestamp` int(15) unsigned NOT NULL,
`actionTaken` varchar(25) NOT NULL,
`response` varchar(255) NOT NULL,
`responseCode` int(5) NOT NULL,
PRIMARY KEY (`paymentId`,`timestamp`),
KEY `paymentId` (`paymentId`),
La clave principal es lo que yo esperaba, pero estoy seguro de lo que la La última línea es sobre?
KEY `paymentId` (`paymentId`),
¿Está relacionado con un índice?
Me pregunto por qué, en este caso, se crea un índice adicional en paymentId, ya que la clave principal también debe ser un índice. Entonces, en mi opinión, el índice adicional (clave) está obsoleto. –
@Frederik: la clave principal es una clave compuesta, por lo que su índice se basará en eso. Cuando busca solo sobre la base de un 'paymentId', ese índice puede no ser útil. –
@Frederik Gheysels: como tanto 'paymentId' como' timestamp' pertenecen a la clave principal, se crea un índice sobre ambos campos. Por lo tanto, está bien crear un índice adicional para 'paymentId'. –