[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: JOIN или VIEW?
rooor
Всем привет) Заморочился тут на быстродействии...

Итак, есть база. Куча мелких таблиц, из которых всё складывается в одну.
Задача - выбрать всё из основной таблицы.
1. Запрос:
SELECT w.`W1`, w.`W2`, w.`W3`, w.`W5`, w.`W6`, w.`W4`,
w.`W7`, w.`W8`, w.`W9`, u.`U1`, r.`R1`, d.`D1`, l.`L1`
FROM `www` w
LEFT JOIN `uuu` u ON u.`id_u` = w.`id_u`
LEFT JOIN `ddd` d ON d.`id_d` = w.`id_d`
LEFT JOIN `lll` l ON l.`id_l` = w.`id_l`
LEFT JOIN `rrr` r ON r.`id_r` = w.`id_r`

2. То же самое, только представлением.
SELECT * FROM `view`

Количество строк: 320
1. Время выполнения: 0.00047
2. Время выполнения: 0.00043

Всё то же самое, только строк в таблице ~11000
1. Время выполнения: 0.207638
2. Время выполнения: 0.218208

Получается, что чем больше таблица, тем медленнее работает представление...
Или может я чего-то не так сделал...или комп у меня глючный))

Ну собсно вопрос - где что лучше заюзать?
Для какой задачи будет оптимальным одно решение, для какой другое?
Топик чисто информативный, для личного развития =)



Спустя 38 минут, 34 секунды (2.10.2012 - 13:32) altairo2087 написал(а):
А сколько раз на быстродейтствие тестировал? Какая погрешность? Вьюшки по сути изначально не ориентированы на быстродействие. Они нужны в основном для для удобного представления данных, либо чтобы можно было безопасно работать с таблицей не имея доступ к начальной информации, либо для прог которые затачивались под одни таблицы, но база изменилась.

Спустя 6 минут, 22 секунды (2.10.2012 - 13:38) rooor написал(а):
Погрешность есть, но не большая.
Цитата
Вьюшки по сути изначально не ориентированы на быстродействие

ну всё равно по идее они должны работать быстрее, чем запрос с объединением... хотя не знаю...

Спустя 50 секунд (2.10.2012 - 13:39) inpost написал(а):
SELECT * на 11 тысяч записей? Какой смысл в таких выборках? Надо реальные выборки тестировать, с пагинатором, с условиями, с индексами.

Спустя 1 минута, 28 секунд (2.10.2012 - 13:41) rooor написал(а):
согласен) вечером потестирую)

Спустя 4 часа, 16 минут, 6 секунд (2.10.2012 - 17:57) sergeiss написал(а):
Так я не понял:
1. Где код вьюшки?
2. Сколько раз проверял? Для верности нужно по циклу гонять многократно. И потом только смотреть, какое будет время. Да и то не факт, что результаты сравнения будут достоверными. Особоенно, когда отличие во времени выполнения на в разы, а на проценты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.