Changes between Version 3 and Version 4 of Profiling


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

--

Legend:

Unmodified
Added
Removed
Modified
  • Profiling

    v3 v4  
    88* да примениме оптимизации (индекси/рефакторинг на SQL)
    99* и да измериме пред и потоа.
     10
     11=== Поставување на бизнис барање:
     12
     13“За утрешниот ден, за секој лет да се прикаже: авиокомпанија, рута, време, капацитет на авион, број резервирани места, load factor (% пополнетост), и просечна цена по резервација. Да се филтрираат само летови што веќе имаат барем 1 резервација и сортирај по највисок load factor.”
     14
     15===== Прашалник 1
     16
     17{{{
     18SELECT
     19  f.flight_id,
     20  al.airlinename,
     21  f.flightno,
     22  f.`from`,
     23  f.`to`,
     24  f.departure,
     25  f.arrival,
     26  (SELECT a.capacity
     27   FROM airplane a
     28   WHERE a.airplane_id = f.airplane_id) AS capacity,
     29  (SELECT COUNT(*)
     30   FROM booking b
     31   WHERE b.flight_id = f.flight_id) AS booked_seats,
     32  (SELECT AVG(b2.price)
     33   FROM booking b2
     34   WHERE b2.flight_id = f.flight_id) AS avg_price,
     35  (SELECT COUNT(*)
     36   FROM booking b3
     37   WHERE b3.flight_id = f.flight_id) /
     38  (SELECT a2.capacity
     39   FROM airplane a2
     40   WHERE a2.airplane_id = f.airplane_id) AS load_factor
     41FROM flight f
     42JOIN airline al ON al.airline_id = f.airline_id
     43WHERE f.departure >= CURDATE()
     44  AND f.departure < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
     45  AND (SELECT COUNT(*)
     46       FROM booking bx
     47       WHERE bx.flight_id = f.flight_id) > 0
     48ORDER BY load_factor DESC
     49LIMIT 100;
     50}}}