Ако вашият DELETE
има за цел да елиминира голямо мнозинство от редовете в тази таблица, едно нещо, което хората често правят, е да копират само редовете, които искате да запазят, в дублирана таблица и след това да използват DROP TABLE
или TRUNCATE
за да изтриете оригиналната таблица много по-бързо.
Индекс може да помогне да намерите редовете, които трябва да изтриете, но изтриването изисква актуализиране на индекса. След изтриване на много редове, индексът може да е дисбалансиран и изисква известна поддръжка с OPTIMIZE TABLE
.
DATE_SUB()
функцията е постоянен израз (не варира ред по ред), така че оптимизаторът на заявките трябва да е достатъчно умен, за да я разложи и да извърши изчислението веднъж.
Не е необходимо да създавате допълнителен индекс за първичен ключ. Ограничението на първичния ключ имплицитно създава индекс, който дава същата полза като индекс на неосновен ключ.
Съставният индекс вероятно е също толкова полезен, колкото и индексът с една колона, при условие че вашите критерии за търсене се отнасят до най-лявата колона(и) на индекса. Предупреждението „вероятно“ се дължи на това, че отделните възли на индекса са по-големи и затова е необходима повече памет за кеширане на индекса, но това е достатъчно малък фактор, за да не създам цял друг индекс с една колона.