n1_loader
Goldiloader
Our great sponsors
n1_loader | Goldiloader | |
---|---|---|
4 | 5 | |
220 | 1,539 | |
- | 1.5% | |
6.2 | 6.2 | |
4 months ago | 15 days 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.
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.
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.
What are some alternatives?
ArLazyPreload - Lazy loading associations for the ActiveRecord models
Enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid support
Destroyed At - ActiveRecord Mixin for Safe Destroys
rails_or - Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.
activerecord-multi-tenant - Rails/ActiveRecord support for distributed multi-tenant databases like Postgres+Citus
ActiveValidators - Collection of ActiveModel/ActiveRecord validators
Espinita - Audit activerecord models like a boss (and works with rails 4!)
mini_record - ActiveRecord meets DataMapper, with MiniRecord you are be able to write schema inside your models.
ActsAsTaggableOn - A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts.
ActiveRecordExtended - Adds additional postgres functionality to an ActiveRecord / Rails application
ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
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.