我在一张表中存储了一组位于2D空间某处的轴对齐矩形。每个矩形由元组(X1, Y1, X2, Y2)
定义,表示矩形的相对角。每个坐标都是一个整数。
我做的典型查询是选择与类似的矩形视图(Vx1, Vy1, Vx2, Vy2)
相交的所有矩形。例如:
SELECT * FROM Rectangles WHERE X2>=Vx1 AND Y2>=Vy1 AND X1<=Vx2 AND Y1<=Vy2
我的问题是,为了减少查询时间,您会为这种查询推荐什么索引结构?或者以不同的方式表示矩形对这种查询有益吗?
通常会提取矩形并且很少更新。
目前我在X1-Y1-X2-Y2
上只有一个简单的单一索引。但是,当使用EXPLAIN
运行上述查询时,我得到了