4 ms·
Danbooru (and forks like Moebooru) and Philomena use string arrays in the database for tags. Edit: nevermind, Philomena has a table for the many-to-many relati
by claudiawerner 7y ago
Danbooru (and forks like Moebooru) and Philomena use string arrays in the database for tags.
Edit: nevermind, Philomena has a table for the many-to-many relationship and uses Elasticsearch for the heavy lifting.
- hau 7y agoWhy arrays are preferable over m2m tables? What so special about pg arrays that makes anything but them inferior in "tagging" case? I genuinely don't get it.
- claudiawerner 7y agoAccodring to these rough benchmarks, it's faster to use arrays rather than joins: https://shon.github.io/2015/12/21/postgres_array_performance.html https://shon.github.io/2015/12/21/postgres_array_performance... https://gist.github.com/joevandyk/031cf5812bd656887623 https://gist.github.com/joevandyk/031cf5812bd656887623 To search for a post with multiple tags, you need to do a join for each tag. You don't have that problem with arrays.
- hau 7y agoThanks, that looks cool.