Отговорът зависи от двигателя, който използвате:
- MyISAM – добавянето на идентификатор към индекса може и вероятно ще помогне
- InnoDB – Първичният ключ вече е част от всеки вторичен индекс, тъй като innodb съхранява редове в BTREE, сортирани по първичен ключ и индексът се нуждае от първичен, за да сочи към действителния ред – в този случай добавянето му е излишно, ако е последен в индекса ( но това няма да го добави два пъти, така че не трябва да влошава нещата). В някои случаи може да искате да го добавите като не-последен или имате основен с няколко колони и добавяте някои колони към вашия индекс в различен ред - не би трябвало да има проблем с него, innodb ще добави останалите колони от първичния към този индекс, но може да използва добавените преди, без да ги дублира)
Така че отговаря:
- В InnoDB това е ненужно, в MyISAM е добре, в случай че действително използвате това сортиране, ако не го използвате, добавянето му само прави този индекс по-голям.
- Редът на колоните в дефиницията на таблицата и редът в индекса са отделни неща, така че е наред
- Да, този индекс изглежда наистина добър - но можете да проверите себе си, като използвате покриващ индекс ", но това идва с цена, така че освен ако заявката не е критична и не е по-ефективна, вероятно е излишна.