在巨大的InnoDB表上优化DROP TABLE

时间:2013-11-18 20:33:05

标签: mysql innodb

我有一个超过1.4亿行的innodb表,占用26GB。我想放弃这张桌子,但这种情况花了太长时间,可能是几天。如何加快查询速度?

处理器:Intel®Xeon®E3-12204核心x 3.1 GHz(3.4 Turbo Boost) ram:12 GB DDR3 ECC

3 个答案:

答案 0 :(得分:2)

如果您不想在删除记录时检查参照完整性,请使用

TRUNCATE TABLE table_name

更多MySQL documentation

答案 1 :(得分:0)

这可能取决于您的innodb_file_per_table设置。您可能会发现Performance problem with Innodb and DROP TABLE相关:

  

如果您没有使用innodb_file_per_table,那么您不会受到影响,因为   在这种情况下,表空间不需要被删除所以页面来自   缓冲池LRU不需要丢弃。原始的表现   我在测试服务器上测量的丢弃表是10倍   单个表空间,虽然这会因缓冲区而有很大差异   游泳池大小。创建/删除MyISAM表的速度要快几倍   仍然。

同时检查

Slow DROP TABLE

答案 2 :(得分:0)

这解决了我的问题,谁会认为这是因为完整性检查: https://dba.stackexchange.com/questions/53515/drop-table-on-a-huge-innodb-table/