簡體   English   中英

如何在放置分區需要等待時讓MySQL引發錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM