【问题标题】:Query timeout for changing storage engine of MySQL tableMySQL表存储引擎更改查询超时
【发布时间】:2013-07-10 15:47:31
【问题描述】:

我在 MySQL 中有一个包含 7 亿行的表。我想将其存储引擎从 InnoDB 更改为 MyISAM,但是执行此操作的 SQL 查询需要花费大量时间。

下面是查询:-

ALTER TABLE table ENGINE=MyISAM

在 phpMyAdmin 和 MySQL 工作台中,此查询已超时。

考虑到我有大量数据,这个查询是否应该花费很多时间,如果是这样,我需要做些什么才能使其成功执行?

注意 :- 我决定切换到 MyISAM,因为在这张表上会有更多的读取和很少的写入。

【问题讨论】:

    标签: mysql database innodb myisam


    【解决方案1】:

    也许您可以先尝试创建新的 MyISAM 空表,然后从另一个表中插入数据?

    我没有这么大的桌子来测试这个规模,在我最大的桌子上几乎一样。

    查看索引很重要,因为重建有时需要很长时间。

    【讨论】:

    • 我不知道为什么这没有发生,我想我需要为此设置一个 CRON 作业...我尝试删除索引,但索引和存储引擎都没有被删除..
    • Cron 或使用SCREEN。我想知道为什么 InnoDB 到 MyISAM ? InoDB 更好、更快、更安全……为什么?
    • 我读了很多论坛,人们说 MyIsam 更好,当你有更少的写入和更多的读取......所以我想尝试这个,因为数据库很慢......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 2011-05-13
    相关资源
    最近更新 更多