Быстрое создание индекса MySQL InnoDB не работает

0

У меня есть таблица InnoDB с около 20 000 000 записей, и я хочу добавить на нее некоторые индексы. Поскольку у меня много запросов в этой таблице в разных столбцах, я знаю, что индексы нескольких столбцов будут лучше, чем одиночные в этом случае. Поэтому я создал индексы методом Fast Index Creation следующим образом:

ALTER TABLE mtTBL 
ADD INDEX 'index1'  ('col09','col03','col02'),
ADD INDEX 'index2'  ('col09','col03'),
ADD INDEX 'index3'  ('col09','col03','col07'),
ADD INDEX 'index4'  ('col09','col03','col12'),
ADD INDEX 'index5'  ('col03'),
ADD INDEX 'index6'  ('col09'),
ADD INDEX 'index7'  ('col09','col07'),
ADD INDEX 'index8'  ('col09','col12'),
ADD INDEX 'index9'  ('col09','col04'),
ADD INDEX 'index10' ('col09','col13'),
ADD INDEX 'index11' ('col09','col06'),
ADD INDEX 'index12' ('col09','col02'),
ADD INDEX 'index13' ('col09','col06','col08','col10');

Но я видел, что это занимает около 8 минут и похоже на то, когда я добавляю индексы по одному. Так в чем проблема?

Теги:
indexing

1 ответ

0
  • Кажется, ожидало, что один индекс завершится до следующего? (Это может указывать на то, что быстрое создание индекса выполняется только для одного.)
  • Какую версию MySQL вы используете? (Возможно, дальнейшее улучшение в новой версии.)
  • Это "слишком много" индексов. Пожалуйста, обсудите, что в ней есть таблица, и почему вы думаете, что вам нужно столько индексов. (Возможно, это обходное решение.)
  • Это может быть полезно, если у вас есть col09 в качестве первого столбца в PRIMARY KEY. (Что такое ПК сейчас?)
  • Почему имеет значение 8 минут? Вы не будете добавлять индексы каждый день.
  • Пройдите через учебники stackoverflow, чтобы вы могли получить достаточно "репутации", чтобы ответить на мои вопросы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню