I am designing an application that needs to save geometric shapes in a database. I haven't choosen the database management system yet.

In my application, all database queries will have an bounding box as input, and as output I want all shapes within that database. I know that databases with a spatial index is used for this kind of application. But in my application there will **not** be any queries of type "give me objects nearby x/y" or other more complex queries that are useful in a GIS application.

I am planning of having a database without a spatial index and have queries looking like:

```
SELECT * FROM shapes WHERE x < max_x AND x > min_x AND y < max_y AND y > min_y

```

And have an **index** on the columns `x (double)` and `y (double)`. As long I can see, I don't really need a database with an spatial index, howsoever my application is close to that kind of applications.

And even if I would like to have nearby queries, then I could create a big enough bounding box around that point. Or will this lead to poor performance?

**Do I really need a spatial database?** And when is a spatial index needed?

**EDIT:**
The search queries will actually be a little bit more advanced than the one I wrote above, since I deal with geometric shapes I will input an Bounding box that will return multiple shapes (with bounding box) that are inside or interfere with the box in the query. But I still think I can do this without a spatial index, after been reading all good answers.