As others have said, PostGIS is a great option if supports everything in your use case. The GIN indexes in particular give you very fast bounding box lookups. You can also do shape intersection and other sophisticated things.
I recommend the Boundless Geo tutorial on PostGIS. It does a great job of teaching you about bounding box indexes and all the GIS functions and types.