MySQL-删除表时是否会删除索引?

MySQL-删除表时是否会删除索引?,mysql,indexing,Mysql,Indexing,在MySQL中,删除表时是否会自动删除索引?对于其他数据库以及Postgres是否也是如此?是的。RDBMS中的索引不能独立于它们所属的表而存在。是。RDBMS中的索引不能独立于它们所属的表而存在。所有表数据都被删除;这包括索引和表定义 如果表数据和定义保持不变,则始终可以重建索引,但反之亦然。在没有任何其他内容的情况下,不可能从索引中恢复任何有意义的内容 我不知道还有其他数据库服务器会留下索引,但这并不意味着没有索引。所有表数据都被删除;这包括索引和表定义 如果表数据和定义保持不变,则始终可以

在MySQL中,删除表时是否会自动删除索引?对于其他数据库以及Postgres是否也是如此?

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

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

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

如果表数据和定义保持不变,则始终可以重建索引,但反之亦然。在没有任何其他内容的情况下,不可能从索引中恢复任何有意义的内容


我不知道还有其他数据库服务器会留下索引,但这并不意味着没有索引。

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

如果表数据和定义保持不变,则始终可以重建索引,但反之亦然。在没有任何其他内容的情况下,不可能从索引中恢复任何有意义的内容


我不知道还有其他数据库服务器会留下索引,但这并不意味着没有索引。

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

CREATE TABLE myTable (column1 INT);
CREATE INDEX index_on_mytable ON table1 (column1);
它将创建一个名为myTable的表,并将\u myTable上的索引\u与之关联

现在查看以下详细信息

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。

是,它将自动删除以检查它。您可以执行以下操作

CREATE TABLE myTable (column1 INT);
CREATE INDEX index_on_mytable ON table1 (column1);
它将创建一个名为myTable的表,并将\u myTable上的索引\u与之关联

现在查看以下详细信息

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