184 похожих чатов

Всем привет! Насколько нормальная идея создать удобное представление (вьюху) для

большой таблицы, а потом в приложении делать запросы уже во вьюху со всеми фильтрами и сортировками? Сильно ли это скажется на производительности или вообще нейтрально?

19 ответов

8 просмотров

ммм, если честно, мне кажется это избыточным

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

если обычная вьюха нематериализованная - то без разницы, если материализованная - то так все и делают, единственное что - нужно при апдейтах и делитах ручками обновлять материализованное представление

Ivan-Blohin Автор вопроса
Al T
если обычная вьюха нематериализованная - то без ра...

нематериализованная, да т.е. дополнительных накладных расходов не будет? оно не будет пытаться засунуть таблицу в память? очень слаб в этих вопросах

чтобы прочитать нужные поля из вью, вью прочитает все поля которые будут указаны в основной таблице. если там будут группировки, и потом по ним выбрать еще данные, то естественно это будет медленнее, чем забрать нужные столбцы из оригинальонй таблицы

Ivan-Blohin Автор вопроса
Clir
чтобы прочитать нужные поля из вью, вью прочитает ...

как правило я забираю все столбцы, группировок нет

Ivan Blohin
нематериализованная, да т.е. дополнительных наклад...

нет, будет вложенная query. Normal views do not store any data. They just perform a read from another table on each access. In other words, a normal view is nothing more than a saved query. When reading from a view, this saved query is used as a subquery in the FROM clause.

Ivan-Blohin Автор вопроса
Al T
нет, будет вложенная query. Normal views do not st...

спасибо! select * from (select * from view where a = b) запрос во вьюхе - сотни миллионов строк в оперативку они не пойдут, все будет хорошо?) формулировка как раз про это?

Ivan Blohin
спасибо! select * from (select * from view where a...

в оперативку не пойдут, но причина по который вы хотите так делать не очень понятна... естественно лучше если на уровне view вы будете отсекать как можно больше строк

Ivan-Blohin Автор вопроса
Al T
в оперативку не пойдут, но причина по который вы х...

я не до конца уверен, что буду делать так как раз во вьюхе не будет никаких фильтров и сортировок просто из приложения хочу обращаться уже к готовой таблице и разработчикам дать уже готовую таблицу готовую для фильтрации и сортировок из разных приложений так что хотелось бы точно знать не будет ли оно потреблять значительно больше ресурсов если не пойдет в оперативку, то, наверное, все ок и так можно?

Ivan Blohin
я не до конца уверен, что буду делать так как раз ...

Вы хотите от разработчиков скрыть определеные колонки? И поэтому использовать View?

Ivan-Blohin Автор вопроса
Al T
Вы хотите от разработчиков скрыть определеные коло...

в том числе + заранее сделать всякие такие штуки concat( '', if(Impact = 'HIGH', 'HIGH|', ''), if(lof != '.' or lof = '', 'LoF|', ''), if(nmd != '.' or nmd = '', 'NMD|', ''), if(sr != '', 'SR|', ''), if(sa != '', 'SA|', ''), if(sd != '', 'SD|', ''), if(length(RU) = 1 and toInt8OrZero(REFREP) < 4, 'Rep|', ''), if(length(RU) = 1 and toInt8OrZero(REFREP) > 4, 'HomoP|', '') ) flag_filter

Ivan Blohin
я не до конца уверен, что буду делать так как раз ...

в вашем случае да, есть пушдаун оптимизация если нет всяких групбай и прочего

Al T
А давно завезли?

На select a,b,c from tb? Да помоему чуть ли не несколько лет?

【D】【J】
На select a,b,c from tb? Да помоему чуть ли не нес...

Оки, может я что-то не так тестировал тогда

Похожие вопросы

Обсуждают сегодня

Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
27
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Всем привет 👋 Подскажите пожалуйста, а чего тут не хватает permission или образ битый? Running with gitlab-runner 17.0.0 (44feccdf) on gitlab-runner-c58775949-d7znz YxYz2zp...
Max
2
анрей С какой целью зашёл?
КТ315
42
Кто нибудь из участников чата пишет на ассемблере под GNU/Linux?
Spiker01
24
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
Кстати вопрос. Проанализировав свои проекты я понял, что в наиболее ценных из них Асм использовался для организации real-time процессов (внутри DOS). А какие есть способы сего...
Alexander Morozov
18
Я не очень много работал с потоками, тут возник вопрос - если будет одновременный доступ к памяти из двух разных потоков, это само по себе приведет к ошибке?
The Bird of Hermes
25
Насколько моя реализация Exercise 1 плохая? data MessageType = Info | Warning | Error Int deriving (Show, Eq) type TimeStamp = Int data LogMessage = LogMessage ...
= ?
6
Карта сайта