MySQL - 删除表时索引会丢失吗?

时间:2011-10-12 05:12:20

标签: mysql indexing

在MySQL中,删除表时会自动删除索引吗?其他数据库是否也适用于Postgres?

3 个答案:

答案 0 :(得分:4)

是的,它会被自动删除以检查它是否可以执行以下操作

CREATE TABLE myTable (column1 INT);
CREATE INDEX index_on_mytable ON table1 (column1);

它将创建一个名为myTable的表,并将索引index_on_mytable与其关联

现在查看详情如下

SELECT COUNT(*) FROM information_schema.STATISTICS WHERE INDEX_NAME = 'index_on_myTable';

这将返回1表示索引存在

现在放弃表格

DROP TABLE myTable;

再次检查

SELECT COUNT(*) FROM information_schema.STATISTICS WHERE INDEX_NAME = 'index_on_myTable';

这次它将返回0,因为索引将被删除。

答案 1 :(得分:1)

是。 RDBMS中的索引不能独立于它们所属的表存在。

答案 2 :(得分:0)

删除所有表格数据;这包括索引和表定义。

在给定表数据和定义保持不变的情况下,始终可以重建索引,但不是相反。没有任何其他东西,无法从索引中恢复任何有意义的东西。

我不知道另一个会留下索引的数据库服务器,但这并不意味着没有索引。