Goldiloader
n1_loader
Our great sponsors
Goldiloader | n1_loader | |
---|---|---|
5 | 4 | |
1,539 | 220 | |
1.5% | - | |
6.2 | 6.2 | |
15 days ago | 4 months ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Goldiloader
-
I received much feedback about resolving the N+1 problem without updating the code. So I have decided to give another writing round to elaborate on the implementation. Please have a look and let me know what you think.
Been using https://github.com/salsify/goldiloader in a large production application for many years.
-
Proof of Concept: auto-preloading in ActiveRecord
There are many gems doing this. I use this one : https://github.com/salsify/goldiloader
-
Enhanced ActiveRecord preloading
Thank you for sharing this with me! It seems that https://github.com/salsify/goldiloader gem does the same as https://github.com/DmitryTsepelev/ar_lazy_preload. It would be great to compare both solutions.
-
N+1 problem will never be an issue with N1Loader gem
Sorry, seems my post wasn't clear at all. So https://github.com/salsify/goldiloader is great indeed! But it only preloads automatically for default ActiveRecord associations without the need of you to do it on your own.
-
Prosopite is trending on GitHub! Thank you!
Prosopite looks cool, it's is similar to https://github.com/salsify/goldiloader, though goldiloader will also rewrite the query to address the N+1 issue. You should be able to use both and verify goldiloader is working by checking that prosopite logs no N+1 queries.
n1_loader
- N1Loader is alive as ever Enhance your GraphQL API by getting rid of N+1 issues
-
Enhanced ActiveRecord preloading
Unfortunately, such associations are not possible to preload with includes. Gladly, there is a solution with N1Loader.
-
GraphQL without N+1 is easy. N1Loader is a must.
N1Loader supports arguments that you can pass through GraphQL API. There will no N+1 still.
-
N+1 problem will never be an issue with N1Loader gem
N1Loader helps to avoid N+1 issues as simple as ever. Gem has many cool features such as arguments support, integrations with ArLazyPreload and many more.
What are some alternatives?
Enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid support
ArLazyPreload - Lazy loading associations for the ActiveRecord models
rails_or - Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.
Destroyed At - ActiveRecord Mixin for Safe Destroys
ActiveValidators - Collection of ActiveModel/ActiveRecord validators
activerecord-multi-tenant - Rails/ActiveRecord support for distributed multi-tenant databases like Postgres+Citus
mini_record - ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.
Espinita - Audit activerecord models like a boss (and works with rails 4!)
ActiveRecordExtended - Adds additional postgres functionality to an ActiveRecord / Rails application
ActsAsTaggableOn - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
SanitizeSqlLike - Backport #sanitize_sql_like method from Rails 4 for Rails 3. Sanitizes a string so that it is safe to use within an SQL LIKE statement.
ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.