本发明涉及空间数据查询领域,特别是涉及一种对mysql空间数据查询的优化方法。
背景技术:
1、mysql是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库中,由此增加速度并提高了灵活性。但是,这也同时增加了mysql数据解析和查询的难度。尤其在查询不规则空间面矢量数据时,因形状不规则且数据量较大,查询时运算步骤较多,查询范围较大,浮点运算查询效率较低。因此,设计一种能够减少查询时运算步骤,缩小查询范围,提升直接查询效率的对mysql空间数据查询的优化方法是十分必要的。
技术实现思路
1、本发明的目的是提供一种对mysql空间数据查询的优化方法,能够减少查询时运算步骤,对查询方法进行分类,针对性优化,缩小查询范围,提升直接查询效率。
2、为实现上述目的,本发明提供了如下方案:
3、一种对mysql空间数据查询的优化方法,包括如下步骤:
4、步骤1:入库空间数据;
5、步骤2:获取目标空间数据;
6、步骤3:比较目标空间数据与数据库表中的空间数据,根据比较结果确定两矩形区域坐标计算法,并根据两矩形区域坐标计算法查询数据;
7、步骤4:基于步骤3查询到的数据,再执行mysql中相关对应空间函数;
8、步骤5:查询结果映射为需求实体。
9、可选的,入库空间数据,具体为:
10、将该空间数据的外边界矩形区域的经度最小坐标xmin、经度最大坐标xmax、纬度最小坐标ymin、纬度最大坐标ymax值存储到数据库表中。
11、可选的,获取目标空间数据,具体为:
12、获取目标空间数据外边界矩形区域经度最小坐标txmin、经度最大坐标txmax、纬度最小坐标tymin、纬度最大坐标tymax。
13、可选的,步骤3中,比较目标空间数据与数据库表中的空间数据,根据比较结果确定两矩形区域坐标计算法,具体为:
14、当比较结果为相交,即max(xmin,txmin)≤min(xmax,txmax)且max(ymin,tymin)≤min(ymax,tymax)时,选择两矩形区域坐标相交法,查询有交叉关系的区域;
15、当比较结果为在内,即xmin≤txmin且xmax≥txmax且ymin≤tymin且ymax≥tymax时,选择两矩形区域坐标在内法,查询有包含关系的区域;
16、当比较结果为不接触,即xmax<txmin或txmax<xmin或ymax<tymin或tymax<ymin时,选择两矩形区域坐标不接触法,查询没有交叉且没有包含关系的区域。
17、根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的对mysql空间数据查询的优化方法,对空间数据进行预处理,减少查询时运算步骤;对查询方法进行分类,针对性优化;通过边框关系进行初步筛选,缩小查询范围;通过关系运算取代浮点运算,提升直接查询效率。
1.一种对mysql空间数据查询的优化方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的对mysql空间数据查询的优化方法,其特征在于,入库空间数据,具体为:
3.根据权利要求1所述的对mysql空间数据查询的优化方法,其特征在于,获取目标空间数据,具体为:
4.根据权利要求3所述的对mysql空间数据查询的优化方法,其特征在于,步骤3中,比较目标空间数据与数据库表中的空间数据,根据比较结果确定两矩形区域坐标计算法,具体为: