【发布时间】:2016-04-10 08:29:23
【问题描述】:
我写了一个 INSERT 查询。在本地服务器上运行时,没有问题,但在实时服务器上运行相同的查询时会显示错误。
labtestdat 上的总数据 --> 51439
testmedical 上的总数据 --> 1684
本地服务器
插入查询:
INSERT INTO labtestdata(labid,testid) SELECT '131',id FROM testmedical
WHERE id NOT IN(SELECT testid FROM labtestdata WHERE labid = '131')
确认信息:
已插入 1684 行。 插入的行 id:67592(查询耗时 0.0318 秒。)
COUNT 个查询:
SELECT count(id) FROM testmedical WHERE id NOT IN(select testid FROM labtestdata WHERE labid = '131')
确认信息:
您的 SQL 查询已成功执行。
计数(id)
0
实时服务器
插入查询:
INSERT INTO labtestdata(labid,testid) SELECT '131',id FROM testmedical WHERE id NOT IN(SELECT testid FROM labtestdata WHERE labid = '131')
确认信息:
#2013 - 查询期间与 MySQL 服务器的连接丢失
COUNT 个查询:
SELECT count(id) FROM testmedical WHERE id NOT IN(select testid FROM labtestdata WHERE labid = '131')
确认信息(20秒后显示):
#2013 - 查询期间与 MySQL 服务器的连接丢失
注意:查询是使用 phpMyAdmin 运行的
如何解决这个问题?
【问题讨论】:
-
询问您的服务器管理员。这可能是因为
net_read_timeout服务器变量。通常默认为 30 秒。 -
但这不是解决方案,现在服务器上只有 50000+ 行,未来行 1000000+ ,,,
-
如何解决这个问题,请告诉我...
标签: mysql sql optimization query-optimization