mysql - MySQL 8 和 PostgreSQL 中的 "PROCEDURE ANALYSE"类似物

标签 mysql postgresql

MySQL 的旧版本中可以选择分析现有表格:

SELECT * FROM  `table_name` PROCEDURE ANALYSE()

这似乎很有用,开发人员可以分析现有表,查看建议(例如使用 smallint 而不是 int)并考虑其中的一些。

在 MySQL 8.0 中 PROCEDURE ANALYSE()去掉了。我发现的原因:

"Reasoning: it was discussed many times that the PROCEDURE ANALYZE syntax is an anachronism and almost unused non-standard syntax extension".



这是唯一的原因还是自动分析表格是一种不好的做法(即使只是作为分析的附加工具)?

我也找不到 "Procedure Analyse" 的任何类似物在 PostgreSQL 中。

我知道我可以分析查询,但我认为分析表结构以在新表的架构中考虑它是有用的。

最佳答案

此功能已消失,文档中没有提供或引用我能找到的明确的继任者。我试图给负责这件事的人发电子邮件,他不再在 MySQL 工作,而且他的个人电子邮件已经死了,所以他的工作可能被缩短了。很遗憾,他们删除了用户依赖的 PROCEDURE ANALYZE,而没有提供他们谈到的替代存储过程。
可以使用以下语句手动分析表:

select MAX(LENGTH(address1)) from places;
select address1 from places where length(address1) > 99;

关于mysql - MySQL 8 和 PostgreSQL 中的 "PROCEDURE ANALYSE"类似物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53611959/

相关文章:

mysql - 将值从另一个现有表的列添加到一个现有表的新添加列

c# - 如何从sql连接查询中获取对象列表?

sql - 查询中会使用部分索引吗?

sql - PostgreSQL,混合食物和食谱

有效选择非完美重复项的 SQL 查询

mysql - 在mysql中按多行多列选择行

mysql - 当数据库增长时,它的运行速度往往会变慢?

MySQL INSERT IF(自定义 if 语句)

json - Postgres JSON 到 JSONB

postgresql - postgres 处理重复项的能力如何?