ALTER TABLE ADD INDEX 是否会永久更改 mysql table?

Does ALTER TABLE ADD INDEX will change mysql table permanently?

我遇到了这个关于 ADD INDEX 查询方法的优秀解决方案。这非常适合我的情况,我的 table 有 2.8 亿行数据属于现场的许多传感器。我只选择一个传感器数据。我遇到了 ALTER TABLE mysql_table ADD INDEX index_name (mysql_column);我准备试验一下。但我很害怕这是否会永久更改存储在 MySql 服务器上的数据?

首先,如果您有疑问,那么您不应该对重要数据执行此操作,直到您对一些测试数据进行了练习并且对您对该功能的工作原理的理解更加自信。

这实际上是对任何软件功能的好建议!如果您对任何工具或功能没有信心,请不要在难以复制或恢复的重要文件上首次使用它。

添加索引会将索引数据结构存储在为您的 table 存储的文件中,因此它会持续修改 table 空间。但它不会更改您的数据。

索引基本上是您为其定义索引的列中值的副本,索引中的每个条目也有一个 link 返回行的主键( s) 相应值出现的位置。

您可以将数据库中的索引 table 想象成书后的索引。它是一个 pre-sorted 的单个值列表,每个值后跟一个找到该值的页码列表。在书中创建索引不会更改索引引用的页面上的文本。它只会更容易找到它们发生的位置。