codice:
CREATE TABLE `sessions` (
`id` VARCHAR(255) NOT NULL DEFAULT '',
`user` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
`ip` VARCHAR(50) NOT NULL DEFAULT '',
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`mac` CHAR(17) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
INDEX `sess_idx` (`user`, `ip`, `date`, `mac`),
FOREIGN KEY (`user`) REFERENCES `users` (`id`)
ON DELETE CASCADE
)ENGINE=InnoDB;
o
codice:
CREATE TABLE `sessions` (
`id` VARCHAR(255) NOT NULL DEFAULT '',
`user` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
`ip` VARCHAR(50) NOT NULL DEFAULT '',
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`mac` CHAR(17) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
INDEX `user_idx` (`user`),
FOREIGN KEY (`user`) REFERENCES `users` (`id`)
ON DELETE CASCADE,
INDEX `sess_idx` (`ip`, `date`, `mac`)
)ENGINE=InnoDB;
Se notate dalla prima alla seconda, ho inserito le INDEX "differentemente".
Mi potete dire se quando eseguo le query cambia qualcosa in termini di performance, o una index è una index e basta, non importa come la assegni?