google cloud sql几何查询非常慢

时间:2015-08-21 19:58:15

标签: mysql performance google-cloud-sql

我使用下面的工具脚本在CloudSQL中加载了一个形状文件(.shp,.shx,.dbf)

ogr2ogr -f MySQL MySQL:$DB_NAME,host=$HOST,user=$DB_USER,password=$DB_PWD $SHAPE_FILE -progress -nlt POLYGON -nln geo -update -overwrite -lco GEOMETRY_NAME=geometry -lco engine=MYISAM

当我在我的本地环境(官方docker镜像MySQL 5.6)上运行下面的查询时,发生快速(mseconds)但是当我对cloudsql实例输入相同的查询时,性能非常差(5-7)秒

查询示例:

SELECT count(geometry) from geo where zip='20020'; -- took 9.56s

但是如果我输入没有zip子句的相同查询

SELECT count(geometry) from geo; -- took 0.03s

记录总数为:8959; 我在zip列上有索引。

我有什么遗漏或特殊索引吗?

在ogr2ogr

创建的表格下方
CREATE TABLE `geo` (
  `OGR_FID` int(11) NOT NULL AUTO_INCREMENT,
  `geometry` geometry NOT NULL,
  `zip` varchar(5) DEFAULT NULL,
  `offices` decimal(9,0) DEFAULT NULL,
  `shape_leng` double(19,11) DEFAULT NULL,
  `shape_area` double(19,11) DEFAULT NULL,
  `version` decimal(9,0) DEFAULT NULL,
  UNIQUE KEY `OGR_FID` (`OGR_FID`),
  SPATIAL KEY `geometry` (`geometry`)
) ENGINE=MyISAM AUTO_INCREMENT=8960 DEFAULT CHARSET=utf8

0 个答案:

没有答案