mysql - MySQL 8 和 PostgreSQL 中的“过程分析”类似物
问题描述
在旧版本中,MySQL
有一个分析现有表的选项:
SELECT * FROM `table_name` PROCEDURE ANALYSE()
这似乎很有用,开发人员可以分析现有表,查看建议(例如使用 smallint 代替 int)并考虑其中的一些。
在 MySQL 8.0PROCEDURE ANALYSE()
中被删除。我发现的原因:
“推理:多次讨论 PROCEDURE ANALYZE 语法是一种不合时宜且几乎未使用的非标准语法扩展”。
这是唯一的原因还是自动分析表格是一种不好的做法(即使只是一种额外的分析工具)?
"Procedure Analyse"
我在 Postgresql 中也找不到任何类似的东西。
我知道我可以分析查询,但我认为分析表结构以在新表的体系结构中考虑它是有用的。
解决方案
此功能已消失,并且在文档中没有提供或引用我可以找到的明确继任者。我试图给负责这件事的人发电子邮件,他不再在 MySQL 工作,而且他的个人电子邮件已经死了,所以也许他的工作被缩短了。遗憾的是,他们删除了用户依赖的 PROCEDURE ANALYZE,却没有提供他们谈论的替代存储过程。
可以使用以下语句手动分析表:
select MAX(LENGTH(address1)) from places;
select address1 from places where length(address1) > 99;
推荐阅读
- r - 如何在数据框中的逗号后在单元格中添加换行符
- java - 在java中显示带有模式的打印整数
- wamp - 将备份 WAMP 文件夹镜像到外部硬盘驱动器
- ponyorm - 带有带有自定义哈希的 mixin 的 PonyORM
- python - 解决 Python 内核在 Python 中被杀死的问题
- javascript - 创建按钮添加删除编辑jqgrid
- html - 限制
- 项目到 7 项目,同时保留第一个和最后一个
- mysql - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when running mysql -uroot
- css - 页面在小屏幕上无法正常工作
- ios - 关闭尚未编辑的视图时崩溃 - SwiftUI