表名的长度会影响性能吗?

jmn*_*jmn 3 postgresql naming-convention

PostgreSQL 表名限制为 63 个字符。

如果我将表名限制为 5 个字符之类的内容,或者我可以使用完整的 63 个字符而不会产生任何后果,是否会有性能提升?

我知道在创建查询时键入长名称会更长,但这就是别名的用途。

Erw*_*ter 7

表名必须像任何其他数据一样存储(pg_class准确地说是在系统目录中),并且通常有多个对象与表名(约束、索引、序列等)匹配,因此存在边际更长的字符串的成本。但是您将无法注意到性能上的任何差异。内部引用使用oid 编号(对象标识符类型)实现,因此与用作名称的字符串无关。

更重要的考虑是您的代码变得更长,更难阅读和键入。错别字的可能性更大。别名很好,但您仍然需要在许多地方拼出名称。所以经验法则应该是:

  • 尽可能短。
  • 只要要清楚。