CREATE TABLE watchlist (
wl_user int(5) unsigned NOT NULL DEFAULT '0', wl_namespace int(11) NOT NULL DEFAULT '0', wl_title varbinary(255) NOT NULL DEFAULT '', wl_notificationtimestamp varbinary(14) DEFAULT NULL, UNIQUE KEY wl_user (wl_user,wl_namespace,wl_title), KEY namespace_title (wl_namespace,wl_title)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
InnoDB uses the unique key wl_user as a primary key. Since PK is clustered, secondary indexes contain hidden copies of the PK columns, potentially making them quite large.
Bug 66089 adds another secondary index, wl_user_notificationtimestamp, so it's time to consider adding a surrogate primary key wl_id.
Version: 1.24rc
Severity: normal