Я не уверен, что составной индекс - правильное слово; я имею в виду, что у меня есть индекс, состоящий из более чем одного столбца.Необычное поведение с добавлением двух составных индексов в одной таблице
Проблема:
Мой первичный ключ состоит из двух колонок и они прекрасно работают; columnA и columnB. У меня возникают проблемы, когда я пытаюсь создать еще один индекс в той же таблице, который состоит из двух столбцов и столбцов. Как только я создаю 2-й индекс, он берет верх и становится кластеризованным индексом, поэтому таблица упорядочивается им, сначала игнорируется индекс первичного ключа.
Возможное решение:
Я хочу таблицу, упорядоченную по первому индексу на Columna и ColumnB, но я использую 2-й индекс для других целей. Чтобы решить эту проблему, я мог бы дублировать данные во второй таблице, где ColumnA и ColumnC являются единственным индексом, но я не хочу этого делать, если его можно избежать.
System Info: MySQL
У меня создалось впечатление, что каждая таблица имеет кластеризованный индекс, а индекс - это то, как строки физически выкладываются на диск. Когда я выбираю все на столе, возвращаемые строки всегда отражают это. Не используется ли ORDER BY, если вы хотите пойти против стандартной сортировки? –
@UsmanMutawakil Нет, это неправда - по крайней мере, когда дело доходит до MySQL. Если 'order by' отсутствует, db может возвращать строки в любом порядке. – jcsanyi
Я вижу. Поэтому мне нужно будет добавить ORDER BY явно для вставок –