У меня есть следующая инструкция UPDATE
UPDATE Table1 t1
INNER JOIN Table2 t2 ON (t1.Day = t2.Day AND t1.Id = t2.Id)
SET
t1.Price = t2.Price,
t1.Name = t2.Name
WHERE t2.Id = 1
AND t2.Day = DATE_FORMAT(DATE_ADD('2013-11-01', INTERVAL 1 DAY),'%Y-%m-%d');
При запуске инструкции EXPLAIN я получаю сообщение обратно как
Невозможное ГДЕ замечено после чтения константных таблиц
На данный момент выбор диапазона из 21 записи возвращается в среднем примерно за 0,400 секунды.
Я уже добавил индекс в поля t2.Id и t2.Day. По сути, требованием этого оператора обновления является получение всех записей, существующих в таблице 2, с идентификатором 1 для каждого дня (или всех дат между DayStart и DayEnd, к которым у меня есть доступ).
Можно ли как-то улучшить это с точки зрения производительности, или мне не следует беспокоиться о результате EXPLAIN?
0.400 seconds on average.
сообщение с объяснением беспокоило меня. - person Jorge Campos   schedule 19.11.2013