Changes between Version 15 and Version 16 of Profiling


Ignore:
Timestamp:
02/10/26 20:22:13 (3 weeks ago)
Author:
222039
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Profiling

    v15 v16  
    114114* Се намалува I/O и број на обработени редови.
    115115
     116=== Оптимизација 2 (Уште пооптимизирано)
    116117
     118Прво издвојуваме утрешни flight_id со  CTE, па агрегираме само за нив.
     119
     120{{{
     121WITH tomorrow_flights AS (
     122  SELECT flight_id, airline_id, airplane_id, flightno, `from`, `to`, departure, arrival
     123  FROM flight
     124  WHERE departure >= CURDATE()
     125    AND departure < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
     126),
     127booking_x AS (
     128  SELECT b.flight_id, COUNT(*) AS booked_seats, AVG(b.price) AS avg_price
     129  FROM booking b
     130  JOIN tomorrow_flights tf ON tf.flight_id = b.flight_id
     131  GROUP BY b.flight_id
     132)
     133SELECT
     134  tf.flight_id,
     135  al.airlinename,
     136  tf.flightno,
     137  tf.`from`,
     138  tf.`to`,
     139  tf.departure,
     140  tf.arrival,
     141  a.capacity,
     142  bx.booked_seats,
     143  bx.avg_price,
     144  bx.booked_seats / a.capacity AS load_factor
     145FROM tomorrow_flights tf
     146JOIN booking_x bx ON bx.flight_id = tf.flight_id
     147JOIN airline al ON al.airline_id = tf.airline_id
     148JOIN airplane a ON a.airplane_id = tf.airplane_id
     149ORDER BY load_factor DESC
     150LIMIT 100;
     151}}}