Mysql
當在 InnoDB 表上刪除一個分區時,mysql 是在整個表中刷新頁面還是只在要刪除的分區中刷新頁面?
發出
ALTER TABLE .. DROP PARTITION p1
mysql 時必須將頁面刷新到磁碟。我的問題是:mysql 是在整個表中(在每個分區中)刷新頁面還是僅在要刪除的分區中刷新頁面?MySQL 伺服器 5.7表分區exp。是:
PARTITION BY RANGE (UNIX_TIMESTAMP(dt))
根據副標題下的 MySQL 5.7 文件
Affected DDL statements
,這裡是關於 Locking for DDL on Partitioned Tables 的說明:CREATE VIEW 不會導致任何鎖定。
ALTER TABLE … EXCHANGE PARTITION 修剪鎖;只有交換的表和交換的分區被鎖定。
ALTER TABLE … TRUNCATE PARTITION 修剪鎖;只有要清空的分區被鎖定。
此外,ALTER TABLE 語句在表級別採用元數據鎖。
據我在該頁面中看到的,它鎖定了表的元數據。這裡沒有任何跡象表明
.ibd
其他分區的所有文件都需要刷新。它只會影響那些涉及的文件。在您的情況下,它將涉及以下步驟:
.par
獲取分區表文件的元數據鎖.par
更新文件中的分區列表.ibd
刪除你將要掉的鎖- 解鎖
.par
文件注意:刪除分區是 DDL 而不是 DML。
直接回答您的問題
僅要刪除的分區