【发布时间】:2016-10-25 15:16:21
【问题描述】:
我希望在我的应用程序中基于规范化字符串生成一些特殊的存储表(想想用作 id 的 json 字符串)。起初我使用这个项目作为 id,但表变得如此之大,以至于即使是合理的查询也会花费不合理的时间。
我打算将此字符串用作数据库名称的一部分,所以我正在研究如何做到这一点。看起来我可以,但绝大多数常见的回复是“not do it”和“I'll regret it later.”
我很好地改变了这个 id,所以我避免使用特殊字符,但我真的很想知道为什么这是如此禁忌。我发现很多例子说不要,但没有人真正解释为什么。我找到的最接近答案的是“it will cause pain in the development cycle”
特别是在数据库几乎完全由代码管理的情况下,是否有充分的理由?
我知道这存在基于意见的风险,所以我真的很想要一些可量化的理由。
【问题讨论】:
-
你的字符串上没有 index 作为 id 吗?
-
是的,我愿意。这个字符串实际上是用于索引表的 4 个键中的 1 个。
-
create table ????( foo int )在 PostgreSQL 中工作,但如果你这样做我会解雇你
标签: database-design character-encoding special-characters naming-conventions string-literals