0
我從MySQL
爲什麼該查詢這麼慢,我可以做些什麼
UPDATE table_Learning l
INNER JOIN (select ULN, id from table_users group by ULN having count(ULN) =1) u
ON l.ULN = u.ULN
set l.user_id=u.id
WHERE l.user_id is null
的問題是以下SELECT
UPDATE
聲明,它是如此緩慢,超時,基本上不起作用。
我相信這是與線做:
INNER JOIN (select ULN, id from table_users group by ULN having count(ULN) =1) u
,特別是因爲同時存在一個GROUP BY
和HAVING
子句中的這種內在的選擇,從我已閱讀,因爲INNER JOINS
很與MySQL緩慢。
我的總體目標是:
填充userID
的是,在table_learning
是null
爲此使用userID
的在table_users
加入這兩個表 名爲ULN
去外地只填充ULN
在table_users
中是唯一的字段,例如,如果不止一個用戶擁有此ULN
,則不要填充user_id
的table_learning
這些innodb表嗎? – EternalHour
@EternalHour是的,他們是 – Alex
在這種情況下,問題是'HAVING COUNT'。使用innodb時,數據不會像myisam那樣編入索引,從而導致表掃描。請提供您的查詢的'EXPLAIN'。 – EternalHour