powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Теги (ярлыки) для новостей - вопрс по реализации
3 сообщений из 3, страница 1 из 1
Теги (ярлыки) для новостей - вопрс по реализации
    #35608028
Фотография chernomyrdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый,

Вот тут понадобилось на сайте сделать минимальные новости, соответственно родилась примерно следующая таблица:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE news
(
  id bigserial NOT NULL,
  post timestamp without time zone,
  user_id bigint,
  title character varying( 80 ),
  lid character varying( 255 ),
  body text,
  tag text[],
  CONSTRAINT news_pk_id PRIMARY KEY (id),
  CONSTRAINT news_fk_users_id FOREIGN KEY (user_id)
      REFERENCES users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);

Собственно вопрос по реализации ярлыков (колонка tag ) насколько это оптимально, или городить обыкновенный огород многие-к-многим ?

И чисто технический вопрос, насколько будет быстро работать индекс по полю tag ?
Код: plaintext
1.
2.
3.
CREATE INDEX news_idx_tag
  ON news
  USING btree
  (tag);
Если есть что-то особо полезное на данную тему (ярлыки) - поделитесь ссылкой.

Заранее спасибо.
...
Рейтинг: 0 / 0
Теги (ярлыки) для новостей - вопрс по реализации
    #35608125
ЯЕХХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если сложных выборок по тегам не предвидится и новостей будет немного, то самый простой в реализации вариант - записывать теги просто строкой через разделители и навесить на эту колонку FTS.

Если же будут сложные запросы, то ИМХО разумнее сделать на стандартном SQL, с отдельной таблицей тегов и связью M-to-M.
Только лишь потому, что многие средства разработки (типа ORM) про массивы PostgreSQL не знают.

Вtree-индекс не может ускорить поиск по отдельному элементу массива. Но для int[] в контрибе intarray есть поддержка GIST-индекса.
...
Рейтинг: 0 / 0
Теги (ярлыки) для новостей - вопрс по реализации
    #35617133
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЯЕХХТолько лишь потому, что многие средства разработки (типа ORM) про массивы PostgreSQL не знают.

Пол дня покопавшись, как-то приучил ActiveRecord (RoR) к массиву целых чисел. Со строками может быть сложнее будет.
ЯЕХХВtree-индекс не может ускорить поиск по отдельному элементу массива. Но для int[] в контрибе intarray есть поддержка GIST-индекса.
В версии 8.3 есть GIN индексы - они еще больше могут подойти для работы с тэгами.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Теги (ярлыки) для новостей - вопрс по реализации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]