【发布时间】:2017-01-30 17:31:29
【问题描述】:
我有一个包含大约 240Gb 数据和索引的大型数据库(从 phpMyAdmin 读取 - 我的表在 innodb 中)。然而,服务器上的数据库文件夹大小接近 400Gb,而我的 ibdata1 文件大小约为 6Gb,导致我的 SSD 空间不足。
我对此进行了调查,似乎有很多文件,如FTS_0000000000000f86_00000000000019db_INDEX_1.ibd,大小为数十 GB。他们似乎(根据他们的文件名)我的关联表的全文索引,每个有 6 个(FTS_*_INDEX_1.ibd 到 FTS_*_INDEX_6.ibd)。
我进行了搜索,发现了这些帖子:
Howto: Clean a mysql InnoDB storage engine?
和
Database space doesn't match ibdata1 size
我已经在 cmets 中就这两个问题/答案提出了我的问题,但尚未得到答复。所以我决定直接在这里问我的问题。
如果我在启用innodb_file_per_table 的情况下执行“InnoDB 清理”(如the first link above 中所建议的那样),我的数据库文件夹中是否还会有很多以FTS_\*_INDEX_1.ibd 开头的大文件?这种方法是否仅有助于减少 ibdata1 文件大小?这些大桌子上的常规OPTIMIZE TABLE(如建议的那样)会帮助我解决我的问题吗?
谢谢!
更新:
这是按文件大小反向排序的大于 1Gb 的文件列表(文件名已更改):
-rw-rw----. 1 mysql mysql 1300234240 Jan 30 18:28 FTS_0000000000000fc2_DELETED.ibd
-rw-rw----. 1 mysql mysql 1375731712 Jan 7 21:41 FTS_0000000000000f86_00000000000019db_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 1585446912 Jan 30 23:17 FTS_0000000000001000_0000000000001a68_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 1593835520 Jan 7 21:41 FTS_0000000000000f86_00000000000019bf_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 1673527296 Jan 29 23:41 FTS_0000000000001000_DELETED.ibd
-rw-rw----. 1 mysql mysql 1824522240 Jan 7 21:41 FTS_0000000000000f86_00000000000019cd_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 2172649472 Jan 30 01:16 FTS_0000000000001073_0000000000001b3c_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 2281701376 Jan 7 21:41 FTS_0000000000000f86_00000000000019b1_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 2357198848 Jan 31 02:53 FTS_0000000000000fc2_0000000000001a0f_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 2495610880 Jan 28 13:59 FTS_0000000000000fc2_0000000000001a2b_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 2906652672 Jan 30 23:18 FTS_0000000000001000_0000000000001a76_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 3984588800 Jan 30 23:18 FTS_0000000000001000_0000000000001a6f_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 4135583744 Jan 30 08:03 FTS_0000000000000fc2_00000000000019fa_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 5716836352 Jan 28 13:59 FTS_0000000000000fc2_0000000000001a01_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 6400507904 Jan 31 05:39 my_k.ibd
-rw-rw----. 1 mysql mysql 7449083904 Jan 7 21:41 FTS_0000000000000f86_00000000000019d4_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 8115978240 Jan 7 21:41 FTS_0000000000000f86_00000000000019c6_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 8308916224 Jan 30 08:03 FTS_0000000000000fc2_0000000000001a16_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 8434745344 Jan 7 21:41 FTS_0000000000000f86_00000000000019b8_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 9244246016 Jan 7 21:41 FTS_0000000000000f86_00000000000019aa_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 9714008064 Jan 30 01:16 my_a.ibd
-rw-rw----. 1 mysql mysql 12738101248 Jan 31 05:43 my_s.ibd
-rw-rw----. 1 mysql mysql 14038335488 Jan 31 02:53 FTS_0000000000000fc2_0000000000001a24_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 19906166784 Jan 30 08:03 FTS_0000000000000fc2_0000000000001a1d_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 21185429504 Jan 31 05:43 my_p_s.ibd
-rw-rw----. 1 mysql mysql 29242687488 Jan 31 02:54 FTS_0000000000000fc2_0000000000001a32_INDEX_1.ibd
-rw-rw----. 1 mysql mysql 30131879936 Jan 5 16:35 my_p.ibd
-rw-rw----. 1 mysql mysql 47085256704 Jan 31 05:43 my_a_c.ibd
-rw-rw----. 1 mysql mysql 76499910656 Jan 31 05:43 my_p_c.ibd
-rw-rw----. 1 mysql mysql 76743180288 Jan 30 00:09 my_r.ibd
【问题讨论】:
-
索引为
FULLTEXT的表有多大(GB)? -
只显示目录中所有(相关)文件的大小;我在挥手中迷路了。
-
我实际上有 8 个大小超过 1 GB 的表和大约 20 个大小超过 1 GB 的
FTS_*_INDEX_1.idb文件。你想让我怎么给你看文件和它们的大小?喜欢主要问题中的列表? -
在 Unix 中,
ls -l在目录中。在 Windows 中dir。要么显示名称和大小。 -
@RickJames,我已在问题正文中添加了列表。
标签: mysql database full-text-search innodb