Предположим, что вы хотите сохранить «теги» на своем объекте (скажем, сообщение). С выпуском 9.4 у вас есть 3 основных варианты:Разве JSONB делает массивы PostgreSQL бесполезными?
- теги как текст []
- тегов как jsonb
- тегов как текст (и запоминание JSON строка в виде текста)
Во многом случаев, 3-го было бы непостижимым, поскольку это не позволяло бы условию запроса соответствовать значению тегов. В моем текущем развитии мне не нужны такие запросы, теги только там отображаются в списке сообщений, а не для фильтрации сообщений.
Итак, выбор в основном между text[]
и jsonb
. Оба могут быть запрошены.
Что вы бы использовали? И почему?
http://www.databasesoup.com/2015/01/tag-all-things-part-2.html –
хорошая ссылка. У меня есть мой ответ: я удивлен, насколько быстро JSONB, но все же ARRAY работает обычно лучше. спасибо. – comte
Действительно хорошая ссылка! Запросы для примеров JSONB и List (часть 3 в статье) выглядят намного проще, чем в нормализованных табличных версиях. – Rotareti