У меня есть таблица 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 минут и похоже на то, когда я добавляю индексы по одному. Так в чем проблема?
col09
в качестве первого столбца в PRIMARY KEY
. (Что такое ПК сейчас?)