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?