AWS Aurora/MySQL 服务器因空间查询而崩溃

AWS Aurora/MySQL 服务器因空间查询而崩溃

我们正在使用 AWS Aurora/MySQL 引擎版本5.7.mysql_aurora.2.09.0,并且在一个包含约 10,000,000 行的表上有一个空间索引:

CREATE TABLE `foo` (
  ...
  `lat` decimal(10,6) DEFAULT NULL,
  `lng` decimal(10,6) DEFAULT NULL,
  ...
  `geo_polyline` linestring DEFAULT NULL,
  ...
  `geo_location` point GENERATED ALWAYS AS (point(`lng`,`lat`)) STORED NOT NULL,
  ...
  SPATIAL KEY `geo_location_index` (`geo_location`),
  ...
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

当我们进行这样的查询时:

SELECT COUNT(*)  from `foo`
where
        st_intersects(st_geomfromtext('POLYGON ((16.2 48.1, 16.4 48.1, 16.4 48.2, 16.2 48.2, 16.2 48.1))'), geo_polyline)
    and
        st_contains(st_geomfromtext('POLYGON ((16.2 48.1, 16.4 48.1, 16.4 48.2, 16.2 48.2, 16.2 48.1))'), geo_location);

服务器崩溃。这种情况是可重复的:每次都会发生。

还有其他人经历过类似的事情吗?有人有什么解决方法吗?

相关内容