LINUX.ORG.RU

Индекс первичного ключа в MySQL некластеризованный, возможно ли?

 


0

2

Есть у меня таблица (MySQL) в которой помимо прочего есть поле уникально идентифицирующее запись, назовем его rowID, и есть три поля индексированные составным индексом - год, месяц и внешний ключ. Можно ли сделать так что-бы rowID был первичным ключом таблицы, но кластеризованным был составной индекс тех трех полей, и если да то как?

★★★

Последнее исправление: normann (всего исправлений: 2)

В mysql (innodb) первичный индекс всегда кластеризированный.

Можно ли сделать так что-бы rowID был первичным ключом таблицы, но кластеризованным был составной индекс тех трех полей, и если да то как?

нет

kiotoze ★★★★
()

Во-первых «кластерный», во-вторых - конечно же нет! Можешь создать новую таблицу, в котором первый уникальный индекс будет год, месяц и внешний ключ, а следущий уникальный индекс, старый первичный ключ. И перегнать в него данные первой таблицы. Если у тебя продовская база - делай на другом инстансе, запускай на нём реплику как слейв и догоняй старые данные вручную.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.