很大的mysql插入查询需要终身执行

时间:2019-01-28 07:24:48

标签: mysql node.js google-app-engine request

我正在执行具有大量线串数据的mysql插入查询。但是执行查询需要花费大量时间。 (插入查询是如此之大,以至于需要粘贴到终端上的时间超过5分钟)。

根据请求标头,我的内容长度为10 mb。所以我认为这一定是由于mysql查询的大小,但是那是34mb。我还将连接超时增加到了无限,但是仍然没有执行。

Insert into table (id,data) value (1,LinestringFromText('LINESTRING(0 9,8 0... so on and it goes on)'))

如果我尝试使用较少的数据量执行相同的查询,则执行平稳,但是却阻塞了大量的数据。

1 个答案:

答案 0 :(得分:0)

您不应使用App Engine应用程序来保存和运行mysql服务器,原因是您不应该依赖App Engine实例来保存和提供动态数据(请参见how instances are managed)。但是,如果必须在App引擎中安装mysql服务器,则可以尝试将app.yaml配置文件中应用程序的实例类更改为one of the following。拥有更多资源的机器应该转化为更好的性能。

但是,我建议您使用Cloud SQL来保存和提供数据,并从您的应用程序连接到它。有关如何执行此操作的概述,请参见this tutorial,该概述基于this source code。此示例还使用您链接的mysql包。