Постграфные представления против функций

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

По мере роста моего приложения я постоянно пишу новые представления с умными комментариями для создания более сложных запросов к базе данных. Некоторые из них включают подзапросы, объединения и операторы объединения. На данный момент существует около 20-30 просмотров, и его становится сложнее поддерживать.

Есть ли альтернатива, которая все еще позволяет мне использовать гибкость и мощь Postgraphile без необходимости постоянно писать все больше и больше просмотров.

Спасибо:)

1 ответ

PostGraphile сопровождающий здесь. Я вообще не использую представления (за исключением нескольких тщательно отобранных материализованных представлений) при работе в PostGraphile; вместо этого я использую функции SQL. Функции SQL имеют ряд преимуществ перед представлениями при использовании с PostGraphile: они имеют тенденцию быть более производительными (особенно когда они встроены), их можно использовать для добавления новых / лучших отношений, они уважают ваши политики / гранты RLS, они могут боковая защита, если они вам нужны (SECURITY DEFINER) и вы можете объявить их "стоимость", что полезно, если вы используете что-то вроде анализа стоимости запроса. Посмотрите на пользовательские запросы и вычисляемые столбцы

В зависимости от того, чего вы пытаетесь достичь, вы также можете решить многие makeExtendSchemaPlugin,

Хороший источник совета по этому поводу - участники нашего Discord-чата.

Трудно советовать дальше, не зная, какие проблемы вы решаете с помощью представлений:)

Другие вопросы по тегам