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
Đây là truy vấn được sử dụng để tạo nguồn cấp dữ liệu của người dùng. Vấn đề tôi có với truy vấn này là "uf.user_id in()" tăng khi số lượng người dùng mà anh theo dõi tăng lên.Độ dài tối đa của truy vấn SQL
Độ dài tối đa cho phép của truy vấn SQL là bao nhiêu? Có cách nào tốt hơn để triển khai truy vấn trên của tôi không?
Lưu ý: Tôi đang sử dụng ActiveRecord. Và tôi đang sử dụng Postgres.
Tôi nghĩ bạn cần giải thích "nguồn cấp dữ liệu" là gì, "user_feeds" và "anh ấy" là ai. Có bất kỳ bảng quan tâm nào khác không? Id người dùng 1, 2, 5, v.v ... có được lưu trữ trong bảng không? – ChrisJ
feeds: id, feed_type user_feeds: id, FEED_ID, user_id người dùng: id, tên người dùng feed_type = [như | bình luận | vv] về cơ bản, khi ai đó thích một cái gì đó (chẳng hạn một bức ảnh) một mục được thực hiện trong bảng "nguồn cấp dữ liệu" và các mục nhập được tạo thành bảng user_feeds của người dùng được bao gồm trong ảnh. Có 1,2,5 ... là id người dùng –