У меня есть таблица пользователей со столбцом uuid и тегами столбца:
| uuid varchar PRIMARY KEY | tags ????? |
Я не уверен, какого типа должен быть столбец tags
, hstore или varchar[]. Я хочу, чтобы он содержал список интересов или категорий, таких как «гамбургеры» или «овощи», чтобы я мог запрашивать всех пользователей, у которых есть какие-либо теги в указанном массиве (например, «Какие пользователи любят какие-либо из« бургеров »« овощи ''хот-доги'?") Чтобы этот запрос был быстрым, я думаю, мне следует индексировать отдельные категории, как бы они ни хранились. Я ожидаю, что у большинства пользователей будет небольшое количество тегов (0-5), но потенциально у них может быть до 100 или около того. И есть много разных вариантов тегов (может быть 1000+).
Я считаю, что могу проиндексировать ключи в hstore, чтобы знать, что тип hstore является вариантом. Можно ли индексировать отдельные элементы varchar массивов? (Я видел сообщения об этом, но они были неубедительными.)
Постгрес версии 9.3.5