我有一個在任何時間點都有數百個活動連接的數據庫。當我使用DROP USER sql語句刪除用戶帳戶時,需要大約4秒鐘,在此期間所有其他連接都具有「正在檢查權限」狀態。這意味着要刪除1000個用戶,我將有效地將數據庫鎖定4000秒,這是不可接受的。不過,我注意到,從mysql.users表中刪除用戶行是即時的。DROP USER和從mysql.user表中刪除一行之間的區別
正在從mysql.users kosher刪除一行嗎?與使用DROP USER相比,有哪些缺點?我是否在其他地方留下陳舊的行?有傳播問題嗎?我很可能不得不走這條路,但我想知道我需要做什麼其他清理工作。
如果您在單個事務中發出1000條DROP USER語句,它是否會比4000秒快? (我意識到這是一個荒謬的數字用於說明,但我很好奇,如果時間罰款只能採取一次,即使多滴...) – sarnold
偉大的問題。我確實在測試。不幸的是,不會,所花費的時間與被丟棄的用戶數量成比例增長。編輯:如果在單個DROP USER命令中指定了多個用戶,則也是如此。 – BrainCore