Напреден апликативен развој: performance_checks.sql

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