Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the number of queries by caching schema info #101

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

fatkodima
Copy link
Contributor

Fixes #99.

I was able to run active_record_doctor on 2 OSS projects: discourse (medium sized) and gitlab (large sized).

Discourse

Before
Num of queries: 6771
Runtime of active_record_doctor (checks only, not including app eager loading): 8.53s
Total runtime (of the rake active_record_doctor): 15.74s

After
Num of queries: 1739
Runtime of active_record_doctor: 2.55s 馃敟
Total runtime : 9.3s

Gitlab

Before
Num of queries: 31499
Runtime of active_record_doctor: 125.9s
Total runtime: 2:36.17m

After
Num of queries: 10697
Runtime of active_record_doctor: 38.53s 馃敟 馃敟 馃敟
Total runtime: 1:13.80m

@fatkodima
Copy link
Contributor Author

With the new PR from rails - rails/rails#45381, this will be even faster for gitlab: 31s.

lib/active_record_doctor/schema_cache.rb Outdated Show resolved Hide resolved
lib/active_record_doctor/schema_cache.rb Outdated Show resolved Hide resolved
lib/active_record_doctor/schema_cache.rb Outdated Show resolved Hide resolved
@fatkodima
Copy link
Contributor Author

Renamed the class.

@gregnavis
Copy link
Owner

@fatkodima, please rebase and it's good to merge!

@fatkodima
Copy link
Contributor Author

@gregnavis Rebased.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use SchemaCache internally
2 participants