-- Preparation: Drop the index if it exists to ensure clean testing
DROP INDEX IF EXISTS idx_title ON film;
-- Step 1: Explain the query without an index on `title`
EXPLAIN SELECT * FROM film WHERE title = 'ALONE TRIP';
-- Step 2: Create an index on the `title` column
CREATE INDEX idx_title ON film(title);
-- Step 3: Explain the query again to observe index usage
EXPLAIN SELECT * FROM film WHERE title = 'ALONE TRIP';
-- Step 4: Explain a query that uses a `title` range condition (`title > 'ALONE TRIP'`)
EXPLAIN SELECT * FROM film WHERE title > 'ALONE TRIP';
-- Step 5: Explain a query that groups by `rating` without an index
EXPLAIN SELECT rating, COUNT(*) FROM film GROUP BY rating;
-- Step 6: Create an index on the `rating` column
CREATE INDEX idx_rating ON film(rating);
-- Step 7: Explain the query from Step 5 again to see index usage on `rating`
EXPLAIN SELECT rating, COUNT(*) FROM film GROUP BY rating;