SELECT f.* FROM feeds f, user_feeds uf WHERE (f.id=uf.feed_id and uf.user_id in (1,2,5,6,23,45)) ORDER BY created_at DESC
To jest zapytanie używane do konstruowania kanałów użytkownika. Problem z tym zapytaniem polega na tym, że wartość "uf.user_id in()" zwiększa się wraz ze wzrostem liczby użytkowników, których obserwuje.Maksymalna długość zapytania SQL
Jaka jest dozwolona maksymalna długość zapytania SQL? Czy istnieje lepszy sposób realizacji powyższego zapytania?
Uwaga: używam ActiveRecord. Używam PostgreSQL.
Myślę, że trzeba wyjaśnić, czym są "kanały", "źródła_użytkownika" i kim jest "on". Czy jest jakaś inna tabela interesów? Czy identyfikatory użytkowników 1, 2, 5 itp. Są przechowywane w tabeli? – ChrisJ
RSS: id, feed_type user_feeds: id, feed_id, USER_ID użytkowników: identyfikator, nazwę użytkownika feed_type = [jak | Komentarze | etc] zasadniczo, gdy ktoś lubi coś (słownie fotografię) wpisu dokonuje się w tabela "feeds", a wpisy są wprowadzane do tabeli user_feeds użytkowników znajdujących się na zdjęciu. Tak 1,2,5 ... są użytkownikami i użytkownikami –