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

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

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

19 ответов

15 просмотров

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

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

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

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? Да помоему чуть ли не нес...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта