postgresql - PostgreSQL 可以推荐最佳字段类型吗?

标签 postgresql types

MySQL 提供 PROCEDURE ANALYSE .给定一个查询

SELECT `field` FROM `table` PROCEDURE ANALYSE();

结果提供了建议的字段类型

Optimal_fieldtype: TINYINT(2) UNSIGNED NOT NULL

PostgreSQL 是否提供类似的功能?我看过 pg_statistic / pg_stats 。似乎我可以使用这些信息来推断哪种数据类型可能是合适的,但如果 Postgres 可以自己推荐一种实际的数据类型,那将会很方便。

最佳答案

据我所知,在 Postgres 中没有与 MySQL 的 PROCEDURE ANALYSE 等效的东西。 (我想我会知道的。)

对于给定的示例,显然是关于整数类型的列,我会:

SELECT min(field), max(field) FROM tbl;

并检查可能的范围 numeric data types in the manual .

或者对于不同值的分布:

SELECT field, count(*) AS ct FROM tbl GROUP BY 1 ORDER BY 2 DESC;

实际上,任何具有最少经验的 DBA 都应该了解基本数据类型的基本特征。每个用例的最佳类型不仅取决于值的当前范围和分布。 MySQL 的 PROCEDURE ANALYSE() 基本上可以帮助新手 - 他们很容易误解结果。

关于postgresql - PostgreSQL 可以推荐最佳字段类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304657/

相关文章:

sql - 在 POSTGRESQL 中跨表获取每个用户的计数

java - 在 hibernate @Formula中使用自定义方言功能

c - 如何找到c中所有数据类型的限制

c# - 将运算符添加到第三方类型?

sql - 查询之间的多个值 [PostgreSQL]

ruby-on-rails - rails : Datatypes for ActiveModel- with PostgreSQL

java - 如何在 PostgreSQL 上使用 java.lang.NumberFormatException 执行 liquibase

c# - 泛型方法多重 (OR) 类型约束

mysql - 存储过程参数类型

python - 如何根据数据类型在 python 中设置条件?