• PostgreSQL А можно отказать от fk и m2m в пользу integer и array[integer] в силу того что мне лень писать join`ы это очень плохо?

Replies (13)

  • @lolicon, если uniq и сортирока в апликухе устраивает, ради бога
  • @netneladno, Какие uniq и сортирока?
  • @lolicon, если ты захочешь чтобы цифорки в массиве были уникальны в пределах строки
  • @netneladno, Это не проблема.
    Я хочу лайки хранить как array со id пользовотелей и боюсь если я будут лайкать много то данные потеряю. C m2m вроде такого быть не должно
  • @lolicon, если будешь добавлять элементы через element-to-array concatenation: 3 || ARRAY[4,5,6] -> {3,4,5,6}
    то mvcc тебе конкаренси разрулит и не потеряешь
  • @netneladno, единственная проблема будет это write amplification
  • @netneladno, Cпасибо поробую вникнуть в статью.
  • @lolicon, не знаю о какой статье ты говоришь
  • @lolicon, это про ssd
    я говорю о том что для добавления одного элемента тебе надо записать целую новую строку
    это проблема возникнет если у кого-то дохуя лайков очень
  • @lolicon, всяко лучше имхо. лайек на порядки меньше пользователей. на целостность тут насрать. а чтобы выбрать для показа лакавших, все равно подзапрос фигачить.
  • @netneladno, Спасибо что разъяснил.
    Ну так вроде mvcc так всегда делает когда ты хочешь что обновить.
  • @lolicon, ну это постгрес не делает апдейт ин плейс
    особенность реализации mvcc

    при добавлении же строки в отдельную таблицу, у тебя всегда константное кол-во байт пишется

    короче трейдофф — запись или чтение