我有两个表称为停止和Stop_Times,这些都与旅行社有关。 停止拥有8K条记录和Stop_Times表,其中有320万条记录。 当我执行UPDATE查询时,需要太多时间。花了3.5-4小时,但还没有更新记录。我的查询是 -MySQL更新查询花费太多时间
UPDATE Stops
JOIN Stop_Times ON Stops.stop_id = Stop_Times.stop_id
SET
Stops.route_type = Stop_Times.route_type,
Stops.agency_id = Stop_Times.agency_id
WHERE Stops.location_type = 0
对于这两个表我使用MyISAM存储引擎。我hv索引停止和Stop_Times表。
我在Linux CentOs上运行此查询。
有什么办法可以提高UPDATE查询的速度吗?
你确定你是互相比较的列具有完全相同的类型? –
“Stop_Times.stop_id”是一个唯一的列吗?如果不是(因为我怀疑你的行数),你可能试图用来自'Stop_Times'的不同行的值多次更新每个'Stops'记录。也许你应该过滤掉'Stop_Times'结果? – lanzz
@Lex,来自两个表的stop_id具有相同的数据类型 – Deepu