Question
Data Science and Artificial Intelligence Question on SQL
An OTT company is maintaining a large disk-based relational database of different movies with the following schema :
Movie (ID , Customer Rating)
Genre (ID , Name)
Movie Genre (MovieID , GenreID)
Consider the following SQL query on the relation database above :
SELECT *
FROM Movie, Genre, Movie_Genre
WHERE
Movie. CustomerRating > 3.4 AND
Genre.Name = "Comedy" AND
Movie_Genre.MovieID = Movie. ID AND
Movie_Genre.Genre ID = Genre. ID;
This SQL query can be sped up using which of the following indexing options ?
B+ tree on all the attributes.
Hash index on Genre.Name and B+ tree on the remaining attributes.
Hash index on Movie.CustomerRating and B+ tree on the remaining attributes.
Hash index on all the attributes.
B+ tree on all the attributes.
Solution
The correct option is (A) : B+ tree on all the attributes and (B) : Hash index on Genre.Name and B+ tree on the remaining attributes.