2016-03-14 66 views
0

我在MySQL 5.6中有一個帶有數百萬行的文本列的MYISAM表。該表佔用的總空間約爲40 GB,其中大部分位於文本列中。我使用此命令啓動了70多個小時前的過程:MYSQL需要多長時間才能構建每GB的FULLTEXT索引文本列?

CREATE FULLTEXT INDEX page_text_idx ON table_name(text_col);

它仍在運行並初始消耗大約40 GB的空間,然後以每小時約一半的速度緩慢地佔用磁盤空間。

是不是有問題,我應該等待和MYSQL索引非常緩慢的過程?

是否有人從經驗中知道索引每GB文本需要多長時間?

+0

SHOW PROCESSLIST在運行時會說什麼? 「通過keycache」或「通過filesort」或其他? –

+0

既然你有5.6,我想知道你爲什麼不使用InnoDB。 –

+0

@Rick James我運行SHOW PROCESSLIST命令,它說:狀態:使用keycache修復。此行與Id:4和Info:CREATE FULLTEXT INDEX page_text_idx ON table_name(text_col)。我不確定這意味着什麼。它仍在運行第三天並佔用大量磁盤空間。 MYIsam的原因:由於遺留數據庫我必須從全文索引僅用於MyISam的日子導入。 – ace

回答

0

SET myisam_max_sort_file_size顯着大於索引,但不大於您擁有的磁盤空間。然後看看它是否會避免「使用keycache修復」,並以更有效的方式進行操作。我非常肯定這適用於非FULLTEXT索引;我不知道FT。

+0

這是FULLTEXT索引,而不是非FULLTEXT。 – ace

相關問題