MySQL的archive是一種數據庫引擎,它可以存儲大量的歷史數據,而不會占用太多的磁盤空間。該引擎能夠壓縮數據并存儲在可讀的、緊湊的文件中。
CREATE TABLE `mytable` ( `id` int(10) unsigned NOT NULL auto_increment, `col1` varchar(20) NOT NULL, `col2` int(10) unsigned NOT NULL, `col3` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
如以上代碼所示,使用archive引擎創建表時需要指定ENGINE=ARCHIVE。它適用于存儲數據僅需要查詢而很少更新的情況,因為該引擎不支持更新和刪除操作。
與其他數據庫引擎相比,archive有許多優點。它可以用于存檔歷史數據、大規模數據存儲和備份。此外,它是非??焖俚模恍枰苌俚挠布Y源。使用mysqldump備份archive表時,它的速度明顯大于其他引擎。
然而,archive也有限制。它不支持索引、外鍵、事務等功能。此外,由于它是基于行的存儲引擎,所以對于存儲blob或text類型的大字段數據,它可能會帶來一些問題。
總之,如果您需要存儲大量的歷史數據,archive引擎是一種很好的選擇。它非常適用于只查詢而不更新的數據,并且能夠平衡存儲和性能的需求。
上一篇mysql bak
下一篇mysql 5.7.21