Заметки → MariaDB 10.0 vs Mysql 5.5
Присутствовал сегодня на одном очень интересном собеседовании. Интересно оно было вопросами собеседующего — их было достаточно много и все были с заковырками. Но один из вопросов меня заинтересовал больше всего. Звучит он примерно так:
Какой индекс необходимо создать, для быстрого выполнения следующего запроса:
SELECT * FROM `table` WHERE `status` = 1 AND `cityId` = 55 AND `date_start` > "2016-04-20" AND `date_end` < "2016-04-31";
Я про себя ответил точно так-же, как собеседуемый — создать составной индекс, покрывающий все поля в WHERE. Какого-же было мое удивления, когда собеседующий сказал, что это не совсем правильно и в индексе не нужно поле date_end — оно не принесет пользы, только место займет. Я сильно удивился и как добрался домой — решил проверить.
MariaDB 10.0 vs Mysql 5.5 →