Доброго времени суток.Возможно ли одновременное использование partition и id auto_encrement поля.
Задача такая. Есть большая (10 000 000) записей таблица пользователей.
хотел сделать partition by list M/W соответственно по мальчикам/девочкамCREATE TABLE IF NOT EXISTS `u` (
`userID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`sex` tinyint(1) NOT NULL,
PRIMARY KEY (`userID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
PARTITION BY LIST(sex) (
PARTITION man VALUES IN (0),
PARTITION woman VALUES IN (1)
)В ответ получаю
#1503 - A PRIMARY KEY must include all columns in the table's partitioning function
Я так понимаю уникальность записей работает только в пределах одного partition ?
Если это так, то ни планируется ли исправление Mysql в одной из следующих версий ?In MySQL 5.1.7 and earlier, names of subpartitions were required to be unique within each partition, but did not have to be unique
within the table as a whole. Beginning with MySQL 5.1.8, subpartition names must be unique across the entire table. For example,
the following CREATE TABLE statement is valid in MySQL 5.1.8 and later:
Хочу добавитьМожно сделать так, заменить
PRIMARY KEY (`userID`)
на
PRIMARY KEY (`userID`,sex)Чудо ! AUTO_INCREMENT сохранился. Правда при принудительной вставке userID
нарушается целостность данныхuserID name sex
1 tanya 0
2 vova 1
1 vasya 1