Было бы хорошо, если Временный алгоритм Таблицы будет переименован к Неприступному алгоритму. Возможно, затем это предоставило бы больше предупреждения разработчикам при наблюдении этого в определении представления - так же, когда это говорит что таблица временного файла использования в объяснить результатах. Просто издевательский запрос по большей части, но действительно это может иметь катастрофические последствия для не зная.
Проблема состоит в том, что, если Вы делаете определенные вещи в своем определении представления, оно переключится от нормального алгоритма слияния до безнадежно неэффективного временного алгоритма таблицы. Это не грандиозное предприятие, если включенные данные являются маленькими. Но это - одна из тех вещей, которые уничтожат Вашу производительность, когда Ваши данные растут.
Как лучше всего иметь дело с этим хотя? Это была проблема, так как представления были реализованы более чем 5 лет назад, и я не знаю ни о каком усилии зафиксировать его. Этот вид проблемы существует в других популярных системах баз данных?
Прокрутите вниз в ссылке ниже туда, где она обсуждает, когда Алгоритм слияния не может использоваться для наблюдения то, что заставляет MySQL ухудшаться в использование ужасного Временного алгоритма Таблицы: http://mysql2.mirrors-r-us.net/doc/refman/5.1/en/create-view.html
Что так плохо об этом? Временный алгоритм таблицы работает как так:
Таким образом, можно вообразить ад включенным здесь, когда у Вас есть 50 миллионов таблиц строки с целью определение как - глупый пример, но Вы понимаете:
create view last_order_date as
select max(order_date) last_date, username from orders group by username;
Пользователь мог бы затем записать:
select * from last_order_date where username = 'joejoe22'
2 часа спустя результат возвращается...
Таким образом, как лучше всего справиться с этой ситуацией?