Simmi Badhan


50 Experience
0 Lessons Completed
0 Questions Solved


My ActiveRecord queries are taking too much load time and slowing down my API response times. I don't even have much data in the databse, like for accounts table there are only 10 rows. I'm running a simple query on pkey and here is the load time from logs:

Account Load (37.5ms) SELECT "accounts".* FROM "accounts" WHERE "accounts"."id" = $1 LIMIT $2 [["id", 9], ["LIMIT", 1]]

Result of Explain Analyze:

EXPLAIN ANALYZE SELECT "accounts".* FROM "accounts" WHERE "accounts"."id" = 1 LIMIT 1;

Limit (cost=0.00..1.12 rows=1 width=34) (actual time=0.012..0.012 rows=1 loops=1)
-> Seq Scan on accounts (cost=0.00..1.12 rows=1 width=34) (actual time=0.011..0.011 rows=1 loops=1)
Filter: (id = 1)
Planning Time: 0.052 ms
Execution Time: 0.022 ms

Another example:
Account Load (6.0ms) SELECT "accounts".* FROM "accounts" WHERE "accounts"."name" = $1 LIMIT $2 [["name", "clinic"], ["LIMIT", 1]]

Project configuration:

Rails - 5.2.3
Ruby - 2.5.1
Posgres - 11.5

Any pointers will be very helpful. Thanks

Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.

© 2023 GoRails, LLC. All rights reserved.