【发布时间】:2011-12-13 07:16:59
【问题描述】:
我正在建立一个非常重要的国家机构的数据库。到目前为止,对于主键列,我有时使用数字,特别是 int32 或 int64,有时我使用 char 但我仍然只存储数字字符。由于这是一项非常关键的任务,我必须使其性能和舒适性都有效。现在我想知道,考虑到 char 列中的值仍然是数字字符,对 PK 列使用 number 或 char 是否有任何区别。
P.S.如果我无论如何都存储数字字符,您可能想知道使用 char 有什么意义。原因是PK栏由很多部分组成,比如国家3个字,省3个字,城市3个字,个人6个字。除此之外,我可以对这些列进行字符串操作,而不必担心显式转换。(我知道 Oracle 中有隐式转换,但不鼓励依赖它。)
【问题讨论】:
-
为什么要使用 char 列来存储数字?使用数字列会更加高效和灵活。
标签: oracle integer char primary-key