优化命令发出“'View is not base table”和“Corrupt”错误消息

Wor*_*ied 4 mysql view corruption

我没有使用 MySQL 的经验。我的老板optimize针对 MySQL 数据库运行了一个。反对一堆观点,我们得到了消息

“tablexyz”不是基表

下一条消息是

腐败

它似乎只针对视图,我们没有收到针对基表的任何这些错误消息。

这看起来像是不正确的错误消息,还是我们的表有问题?

Rol*_*DBA 5

您不能OPTIMIZE TABLE针对视图运行。我可以看到为什么错误消息会是Corrupt

在 mysql 中,视图表示为INFORMATION_SCHEMA.TABLES 中的表。

我以前曾就此讨论过观点

但是,INFORMATION_SCHEMA.TABLES 中的视图具有NULL存储引擎。

因此,必须有一个存储引擎来优化。由于存储引擎为 NULL,因此Corrupt错误消息是可以理解的。因此,不要担心错误消息。只需OPTIMIZE TABLE在底层基表上运行。