Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > View VS. Join


Автор: animegirl 17.3.2013, 21:00
Открыла для себя существование VIEW, смысл мне вроде как ясен, но интересен такой факт, если записей в таблице миллионы, что лучше?
Просто я так понимаю, что JOIN должен каждый раз складывать таблицы воедино, а если они большие, то это большой объём данных, и занимает много времени, а VIEW уже это всё сделал и приходим на готовенькое.

Если ошибаюсь ткните носом  smile 

Автор: Zloxa 19.3.2013, 11:44
вью, по сути, это тот же запрос, только сохраненный в схеме. Вью не материализует данные, результат всякий раз вычисляется по новой, как и для обычного запроса.

Автор: Akina 19.3.2013, 12:18
Цитата(Zloxa @  19.3.2013,  12:44 Найти цитируемый пост)
Вью не материализует данные, результат всякий раз вычисляется по новой, как и для обычного запроса.

Но вычисленные данные - материализуются... ну или кэшируются - при болльшом объёме однозначно на диске... так что если это 
Цитата(animegirl @  17.3.2013,  22:00 Найти цитируемый пост)
большой объём данных

из которого потом выбирается немножко - вьюшка будет конкретным тормозом.

Цитата(animegirl @  17.3.2013,  22:00 Найти цитируемый пост)
если записей в таблице миллионы, что лучше?

Не использовать, если с учётом вышеописанного не найдено вменяемых профитов (каковым может быть, например, множественное использование при расчётах суммарной статистики).

Автор: animegirl 19.3.2013, 16:06
Цитата(Akina @  19.3.2013,  12:18 Найти цитируемый пост)
Не использовать, если с учётом вышеописанного не найдено вменяемых профитов (каковым может быть, например, множественное использование при расчётах суммарной статистики).

Не использовать VIEW или не VIEW и не JOIN?

Автор: Akina 19.3.2013, 16:10
animegirl, если не найдено серьёзных на то резонов - лучше отказаться от использования вьюва.

Автор: Zloxa 19.3.2013, 16:12
Цитата(animegirl @  19.3.2013,  17:06 Найти цитируемый пост)
Не использовать VIEW или не VIEW и не JOIN? 

зазубрить правило http://forum.vingrad.ru/index.php?showtopic=353696&view=findpost&p=2500552

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)