# Api::V1::AscentCragRoutesController#create

- **Period:** 27 Jun 09:48 UTC – 27 Jun 17:10 UTC
- **Throughput**: 0.15 / min
- **Average:** 89.2 ms

## Most Impactful Sections
| Kind | Location | Avg ms | Avg calls | Impact | Command |
| ---- | -------- | -----: | --------: | -----: | ------- |
| code | app/controllers/api/v1/ascent_crag_routes_controller.rb:30 | 50.42 | 1.0 | 56.53% | `Api::V1::AscentCragRoutesController#create` |
| sql | app/controllers/api/v1/ascent_crag_routes_controller.rb:33 | 1.49 | 3.02 | 5.05% | `INSERT INTO `ascents` (`type`, `ascent_status`, `roping_status`, `user_id`, `cr…` |
| sql | app/models/concerns/gap_gradable.rb:10 | 1.39 | 1.88 | 2.92% | `SELECT `crag_routes`.* FROM `crag_routes` WHERE (`crag_routes`.`deleted_at` IS …` |
| sql | app/models/user.rb:148 | 2.57 | 0.98 | 2.84% | `SELECT `ascents`.* FROM `ascents` WHERE `ascents`.`type` = ? AND `ascents`.`use…` |
| sql | app/models/crag.rb:301 | 3.06 | 0.82 | 2.80% | `SELECT COUNT(DISTINCT ascents.user_id) AS count FROM `ascents` INNER JOIN `crag…` |
| sql | app/models/concerns/gap_gradable.rb:11 | 1.23 | 1.88 | 2.58% | `SELECT `crag_routes`.* FROM `crag_routes` WHERE (`crag_routes`.`deleted_at` IS …` |
| code | /var/www/oblyk/api/shared/bundle/ruby/2.6.0/gems/railties-6.0.3.6/lib/rails/engine.rb:525 | 2.05 | 1.0 | 2.29% | `Rails::Engine#call` |
| sql | app/models/crag.rb:307 | 2.33 | 0.82 | 2.14% | `SELECT COUNT(*) AS count FROM `ascents` INNER JOIN `crag_routes` ON `crag_route…` |
| sql | app/models/ascent_crag_route.rb:124 | 0.8 | 2.0 | 1.80% | `BEGIN SELECT `crag_routes`.* FROM `crag_routes` WHERE (`crag_routes`.`deleted_a…` |
| sql | app/models/ascent.rb:58 | 0.94 | 1.3 | 1.38% | `SELECT `users`.* FROM `users` WHERE `users`.`id` = ? LIMIT ?` |
| sql | app/models/ascent.rb:56 | 1.15 | 0.98 | 1.27% | `SELECT `climbing_sessions`.* FROM `climbing_sessions` WHERE `climbing_sessions`…` |
| sql | app/models/crag_sector.rb:143 | 1.52 | 0.73 | 1.24% | `SELECT COUNT(DISTINCT ascents.user_id) AS count FROM `ascents` INNER JOIN `crag…` |
| sql | app/models/crag.rb:123 | 1.12 | 0.98 | 1.24% | `SELECT DISTINCT `crag_routes`.`climbing_type` FROM `crag_routes` WHERE (`crag_r…` |
| sql | app/controllers/api/v1/api_controller.rb:26 | 1.08 | 1.0 | 1.21% | `SELECT `ip_black_lists`.* FROM `ip_black_lists` WHERE (block_expired_at <= NOW(…` |
| sql | app/models/ascent_crag_route.rb:164 | 1.08 | 0.98 | 1.19% | `SELECT `tick_lists`.* FROM `tick_lists` WHERE `tick_lists`.`crag_route_id` = ? …` |
| sql | app/models/crag_route.rb:100 | 1.08 | 0.98 | 1.19% | `SELECT `ascents`.* FROM `ascents` WHERE `ascents`.`type` = ? AND `ascents`.`cra…` |
| sql | app/controllers/api/v1/api_controller.rb:64 | 1.05 | 1.0 | 1.17% | `SELECT `users`.* FROM `users` WHERE `users`.`id` = ? LIMIT ?` |
| sql | app/models/crag_route.rb:163 | 0.99 | 1.05 | 1.16% | `SELECT `crag_sectors`.* FROM `crag_sectors` WHERE (`crag_sectors`.`deleted_at` …` |
| sql | app/models/crag_route.rb:144 | 0.94 | 1.08 | 1.14% | `UPDATE `crag_routes` SET `crag_routes`.`note_count` = ?, `crag_routes`.`difficu…` |
| sql | app/models/crag_sector.rb:153 | 1.23 | 0.79 | 1.09% | `UPDATE `crag_sectors` SET `crag_sectors`.`ascents_count` = ?, `crag_sectors`.`u…` |
| sql | app/models/ascent_crag_route.rb:172 | 1.15 | 0.82 | 1.05% | `SELECT `crags`.* FROM `crags` INNER JOIN `crag_routes` ON `crags`.`id` = `crag_…` |
| sql | app/models/crag_route.rb:135 | 0.95 | 0.98 | 1.05% | `SELECT COUNT(DISTINCT ascents.user_id) AS count FROM `ascents` WHERE `ascents`.…` |
| sql | app/models/ascent.rb:60 | 0.94 | 0.98 | 1.04% | `UPDATE `ascents` SET `ascents`.`climbing_session_id` = ? WHERE `ascents`.`id` =…` |
| sql | app/models/crag_sector.rb:149 | 1.27 | 0.73 | 1.04% | `SELECT COUNT(*) AS count FROM `ascents` INNER JOIN `crag_routes` ON `crag_route…` |

[View on RoRvsWild ↗](https://www.rorvswild.com/applications/135627/requests/Api::V1::AscentCragRoutesController%23create?range=2026-06-27+09%3A48%3A53+UTC..2026-06-28+09%3A48%3A53+UTC)