[英]How to get MySQL to throw error when drop partition needs to wait
MySQL innodb表,在datetime列上分區,基本上只是一個日志表。
當我嘗試重組或刪除分區時(需要一個獨有的元數據鎖),我希望查詢在幾秒鍾后超時並拋出錯誤,然后我可以捕獲該錯誤,然后稍后再試/提醒負責該操作的人服務器/等 是否有一個好/容易的方法來執行此操作,還是我需要旋轉另一個線程來監視分區線程,如果花費太長時間會殺死該查詢?
(背景:我們遇到了一個問題,即對表的所有查詢都將掛在“等待表元數據鎖定”上。這被追溯到一個從未關閉的事務中,從而防止了每小時的分區代碼鎖定表,同時阻止了其他任何事情錯誤代碼已被修改,但我希望分區系統在這種情況下保持正常運行。)
請提供分區的詳細信息並進行選擇。 您可能正在執行所有操作始終鎖定所有分區的操作。
使用PARTITION BY RANGE
並執行DROP PARTITION
來刪除最舊的,再REORGANIZE
一個“未來”的空分區,在接下來的一個小時內再加上一個新的“未來”。
有關更多詳細信息,請參見http://mysql.rjweb.org/doc.php/partitionmaint 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.