Индекс с несколькими столбцами против множественных индексов

В базе данных MySQL у меня есть следующая таблица:

CREATE TABLE `secondary_images` (
  `imgId` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `primaryId` int(10) unsigned DEFAULT NULL,
  `view` varchar(255) DEFAULT NULL,
  `imgURL` varchar(255) DEFAULT NULL,
  `imgDate` datetime DEFAULT NULL,
  PRIMARY KEY (`imgId`),
  KEY `primaryId` (`primaryId`),
  KEY `imgDate` (`imgDate`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ;

SQL будет следующим:

SELECT imgURL, view FROM secondary_images 
WHERE primaryId={$imgId} ORDER BY imgDate DESC

Как видите, я сделал как primaryId, так и imgDate, Index Keys. Я думал об этом потому, что в результате запроса пункта ГДЕ используется primaryId, а в пункте ORDER используется imgDate.

Мой вопрос в том, не лучше ли использовать множественные индексы так, как я сейчас? Или мне следует использовать многоколоночный индекс (что-то, что я сейчас не очень хорошо понимаю)?

Это то, что я получаю от EXPLAIN:

id = 1   
select_type = simple      
table = secondary_images         
type = ref
possible_keys = primaryId
key = primaryId
key_len = 5
ref = const
rows = 1
extra = Using where; Using filesort

NOTE: Это не использование многоколоночного индекса, это результат использования описания вышеприведенной таблицы.

13
задан Ivar 20 November 2017 в 13:49
поделиться