如何为非常大的表创建MYSQL全文索引?

如何为非常大的表创建MYSQL全文索引?,mysql,sql,indexing,Mysql,Sql,Indexing,我在MYSQL数据库中有一个大约45GB的表,我的磁盘可用空间是30GB。表类型为MyISAM,MySQL版本为5.6。我想在名为name和text的表的两列上创建全文,其中name是varchar(255),text是longtext MYSQL会在创建索引时创建与表大小(45GB)大致相同的临时表吗 以下哪一个更好: ALTER TABLE在上述上下文中添加全文或创建全文索引?这两个命令是相同的(一个映射到另一个)。它将创建一个包含所有新索引的表的完整副本。因此,这是不可能的,因为您的可用磁

我在MYSQL数据库中有一个大约45GB的表,我的磁盘可用空间是30GB。表类型为MyISAM,MySQL版本为5.6。我想在名为name和text的表的两列上创建全文,其中name是varchar(255),text是longtext

MYSQL会在创建索引时创建与表大小(45GB)大致相同的临时表吗

以下哪一个更好:


ALTER TABLE在上述上下文中添加全文或创建全文索引?

这两个命令是相同的(一个映射到另一个)。它将创建一个包含所有新索引的表的完整副本。因此,这是不可能的,因为您的可用磁盘空间甚至小于表大小

有更大的机器吗?移除其他东西?做其他清理工作吗

进一步注意,FT指数本身可能接近45GB。因此,即使您可以创建索引,它也可能会溢出30GB


InnoDB的
全文
似乎创建了一个更小的索引。但是,如果没有超过45GB的可用空间,就无法转换为InnoDB。

如果是这种情况,那么唯一的选择就是购买64GB USB拇指驱动器并连接到我的macbook。但接下来的问题是,我如何告诉MYSQL使用外部thumb drive来复制数据库?这不是最后一个需要处理的情况。在担心索引之前,您确实应该先考虑磁盘空间。如果您想转储整个数据库(而不仅仅是此表),则可以装载任何外部驱动器(如thumb驱动器)并将其用作要写入的文件系统。