Trip Load (10216.4ms) SELECT * FROM (SELECT DISTINCT ON ("trips".id) "trips".id, LEAST(COS(1)*COS(-1)*COS(RADIANS(spots.lat))) AS alias_0 FROM "trips" LEFT OUTER JOIN "waypoints" ON "trips"."id" = "waypoints"."trip_id" LEFT OUTER JOIN "spots" ON "spots"."id" = "waypoints"."spot_id") AS id_list ORDER BY id_list.alias_0 LIMIT 20 OFFSET 0 Trip Load (692.0ms) SELECT "trips"."id" AS t0_r0, "trips"."name" AS t0_r1, "trips"."image_s3_key" AS t0_r2, "trips"."description" AS t0_r3, "trips"."function" AS t0_r4, "trips"."check_event" AS t0_r5, "trips"."published" AS t0_r6, "trips"."tag_list" AS t0_r7, "trips"."created_at" AS t0_r8, "trips"."updated_at" AS t0_r9, "trips"."user_id" AS t0_r10, "trips"."trip_type" AS t0_r11, "trips"."map_bounds_northwest_lat" AS t0_r12, "trips"."map_bounds_northwest_lng" AS t0_r13, "trips"."map_bounds_southeast_lat" AS t0_r14, "trips"."map_bounds_southeast_lng" AS t0_r15, "trips"."show_in_list" AS t0_r16, "trips"."lat" AS t0_r17, "trips"."lng" AS t0_r18, "trips"."success_message" AS t0_r19, "trips"."featured" AS t0_r20, "spots"."id" AS t1_r0, "spots"."name" AS t1_r1, "spots"."lat" AS t1_r2, "spots"."lng" AS t1_r3, "spots"."user_id" AS t1_r4, "spots"."tier" AS t1_r5, "spots"."created_at" AS t1_r6, "spots"."updated_at" AS t1_r7, "spots"."description" AS t1_r8, "spots"."radius_meters" AS t1_r9, "spots"."image_s3_key" AS t1_r10, "spots"."tag_list" AS t1_r11, "spots"."starts_at" AS t1_r12, "spots"."ends_at" AS t1_r13, "spots"."uuid" AS t1_r14, "spots"."accuracy_meters" AS t1_r15, "spots"."published" AS t1_r16, "spots"."admin_notes" AS t1_r17, "spots"."category_1_id" AS t1_r18, "spots"."category_2_id" AS t1_r19, "spots"."category_3_id" AS t1_r20, "spots"."woe_id" AS t1_r21, "spots"."spot_woe_id" AS t1_r22, "spots"."strict_radius" AS t1_r23, "spots"."map_bounds_north" AS t1_r24, "spots"."map_bounds_west" AS t1_r25, "spots"."map_bounds_south" AS t1_r26, "spots"."map_bounds_east" AS t1_r27, "spots"."woe_data" AS t1_r28, "spots"."max_items_count" AS t1_r29, "spots"."no_visiting" AS t1_r30, "spots"."websites" AS t1_r31, "spots"."twitter_username" AS t1_r32, "spots"."address" AS t1_r33, "spots"."foursquare_venue_id" AS t1_r34, "spots"."admin_reviewed_at" AS t1_r35, "spots"."needs_accuracy_check" AS t1_r36, "spots"."slug" AS t1_r37, "spots"."friends_only" AS t1_r38, "spots"."lastfm_venue_id" AS t1_r39, "spots"."lastfm_event_id" AS t1_r40, "spots"."merged_into_spot_id" AS t1_r41, "spots"."original_lat" AS t1_r42, "spots"."original_lng" AS t1_r43, "spots"."townme_id" AS t1_r44, "spots"."locked" AS t1_r45, "spots"."override_checkin_message" AS t1_r46 FROM "trips" LEFT OUTER JOIN "waypoints" ON "trips"."id" = "waypoints"."trip_id" LEFT OUTER JOIN "spots" ON "spots"."id" = "waypoints"."spot_id" WHERE ("trips"."id" IN (2181, 3776, 2180, 1710, 2138, 2287, 2986, 1639, 2749, 1573, 2524, 748, 3475, 1744, 1954, 1955, 2216, 3802, 2153, 734)) ORDER BY LEAST(COS(1)*COS(-1)*COS(RADIANS(spots.lat))) Good: LEAST(COS(1)*COS(-1)*COS(RADIANS(spots.lat))) Trip Load (6.3ms) SELECT "trips".* FROM "trips" ORDER BY LEAST(1,COS(1)*COS(-1)*COS(RADIANS(lat))) LIMIT 20 OFFSET 0 Waypoint Load (0.9ms) SELECT "waypoints".* FROM "waypoints" WHERE ("waypoints".trip_id IN (75,51,39,12,40,53,69,25,41,22,8,26,50,19,21,20,23,10,11,66)) Spot Load (236.0ms) SELECT "spots".* FROM "spots" WHERE ("spots"."id" IN (10162,13513,11844,12814,10445,17987,10500,23505,10360,10191,10163,9758,10446,23506,10136,10361,10192,9138,10616,10164,24347,10447,18121,10362,10193,9139,13516,10448,10842,10165,23508,10194,24349,9816,10449,10052,10139,10195,18097,10053,10167,9901,10054,11793,10225,23510,10226,12171,10141,12313,10452,24353,10143,10001,12174,9031,9907,9060,9032,9033,166106,12345,166022,10146,12233,13582,12430,13499,17913,10230,18049,9996,11601,10147,10373,9883,83317,10148,10149,12349,10177,13528,23379,10036,13529,10205,9122,10179,10206,10377,10207,10066,13501,9943,29466,10208,10150,10067,13022,10209,13530,10151,12973,10152,17694,8975,9127,10098,10153,353162,12184,10182,10099,10154,9042,23384,9157,9071,10155,10210,13506,23385,10353,10156,10211,9637,9948,23386,9073,10185,10157,10212,10383,10355,10186,10158,10891,10213,10187,9130,10100,10159,10214,9189,13424,10215,10555,15829,10894,10102,10359,9161,9133,13510,9952,9416,9134,10218,10160,23503,9135,22523,10161,13512,12164)) Good: LEAST(1,COS(1)*COS(-1)*COS(RADIANS(lat))) Bad: LEAST(1,COS(1)*COS(-1)*COS(RADIANS(spots.lat))) #