Mariadb
在 MariaDB 中禁用 Aria INSERT 登錄
當我批量
INSERT
寫入表時,它會在一系列日誌文件 (aria_log.%) 中Aria
創建一個副本。INSERT
它可能導致MySQL的磁碟滿和崩潰。據我了解,Aria
TRANSACTIONAL=1
僅保留重做日誌,預設行為是TRANSACTIONAL=0
. 我還專門創建了一個表TRANSACTIONAL=0
,但行為相同。我使用 Aria 進行某種備份,因為它比 HDD 上的 InnoDB 更快,並且不需要事務/崩潰安全行為。
如何禁用 Aria 日誌記錄並僅寫入表?
經過大量的實驗,我發現問題不是
TRANSACTIONAL
,而是PAGE_CHECKSUM
。Aria 的預設行為是 Aria
PAGE_CHECKSUM=1
在日誌文件中保留插入行的副本。您需要
PAGE_CHECKSUM=0
禁用大型日誌文件。
和數據庫中
information_schema
的許多系統表都使用 Aria 儲存引擎,其中一些具有. 因此,即使您創建了一個帶有 的表,仍然會有其他帶有 的表。mysql``sys``transactional=1``transactional=0``transactional=1
另外,您確定您沒有自己的 Aria 表
transactional=1
嗎?這是一個快速查詢,用於查找所有 Aria 表(包括系統表)transactional=1
:SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, CREATE_OPTIONS FROM information_schema.TABLES WHERE ENGINE = 'Aria' AND CREATE_OPTIONS LIKE '%transactional=1%';