在旧版本中,MySQL有一个选项可以分析现有表:
SELECT * FROM `table_name` PROCEDURE ANALYSE()
Run Code Online (Sandbox Code Playgroud)
这似乎很有用,开发人员可以分析现有表,查看建议(例如使用smallint而不是int)并考虑其中的一些。
在 MySQL 8.0 中PROCEDURE ANALYSE()被删除。我发现的原因是:
“推理:人们多次讨论过 PROCEDURE ANALYZE 语法是一种不合时宜且几乎未使用的非标准语法扩展”。
这是唯一的原因还是自动分析表格是一种不好的做法(即使只是作为分析的附加工具)?
另外我在 Postgresql 中找不到任何类似的东西"Procedure Analyse"。
我知道我可以分析查询,但我认为分析表结构以在新表的架构中考虑它是有用的。