1 | -- 1. Check bookings by user
|
---|
2 | EXPLAIN ANALYZE
|
---|
3 | SELECT *
|
---|
4 | FROM Booking
|
---|
5 | WHERE UserID = 1;
|
---|
6 |
|
---|
7 | -- Create index and recheck
|
---|
8 | CREATE INDEX IF NOT EXISTS idx_booking_user ON Booking(UserID);
|
---|
9 |
|
---|
10 | EXPLAIN ANALYZE
|
---|
11 | SELECT *
|
---|
12 | FROM Booking
|
---|
13 | WHERE UserID = 1;
|
---|
14 |
|
---|
15 |
|
---|
16 | -- 2. Check flights by departure time
|
---|
17 | EXPLAIN ANALYZE
|
---|
18 | SELECT *
|
---|
19 | FROM Flight
|
---|
20 | WHERE DepartureTime BETWEEN '2025-05-01' AND '2025-06-01';
|
---|
21 |
|
---|
22 | -- Create index and recheck
|
---|
23 | CREATE INDEX IF NOT EXISTS idx_flight_departuretime ON Flight(DepartureTime);
|
---|
24 |
|
---|
25 | EXPLAIN ANALYZE
|
---|
26 | SELECT *
|
---|
27 | FROM Flight
|
---|
28 | WHERE DepartureTime BETWEEN '2025-05-01' AND '2025-06-01';
|
---|
29 |
|
---|
30 |
|
---|
31 | -- 3. Check payments by booking
|
---|
32 | EXPLAIN ANALYZE
|
---|
33 | SELECT *
|
---|
34 | FROM Payment
|
---|
35 | WHERE BookingID = 5;
|
---|
36 |
|
---|
37 | -- Create index and recheck
|
---|
38 | CREATE INDEX IF NOT EXISTS idx_payment_booking ON Payment(BookingID);
|
---|
39 |
|
---|
40 | EXPLAIN ANALYZE
|
---|
41 | SELECT *
|
---|
42 | FROM Payment
|
---|
43 | WHERE BookingID = 5;
|
---|
44 |
|
---|
45 |
|
---|
46 | -- 4. Check reviews by user
|
---|
47 | EXPLAIN ANALYZE
|
---|
48 | SELECT *
|
---|
49 | FROM Review
|
---|
50 | WHERE UserID = 2;
|
---|
51 |
|
---|
52 | -- Create index and recheck
|
---|
53 | CREATE INDEX IF NOT EXISTS idx_review_user ON Review(UserID);
|
---|
54 |
|
---|
55 | EXPLAIN ANALYZE
|
---|
56 | SELECT *
|
---|
57 | FROM Review
|
---|
58 | WHERE UserID = 2;
|
---|
59 |
|
---|
60 |
|
---|
61 | -- 5. Check reviews by target (type + id)
|
---|
62 | EXPLAIN ANALYZE
|
---|
63 | SELECT *
|
---|
64 | FROM Review
|
---|
65 | WHERE TargetType = 'Destination' AND TargetID = 3;
|
---|
66 |
|
---|
67 | -- Create index and recheck
|
---|
68 | CREATE INDEX IF NOT EXISTS idx_review_target_type_id ON Review(TargetType, TargetID);
|
---|
69 |
|
---|
70 | EXPLAIN ANALYZE
|
---|
71 | SELECT *
|
---|
72 | FROM Review
|
---|
73 | WHERE TargetType = 'Destination' AND TargetID = 3;
|
---|