一个表的ID 到底用什么数据类型好?

shlrod 2011-07-22 02:22:59
1 number与 integer 各自最大精度、占几位?
2 simple_integer 优点有那些?
3 一个表的ID 到底用什么数据类型好?ID自增
...全文
2203 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangdh12 2011-08-01
  • 打赏
  • 举报
回复
其实也看你要怎么用了,如果只是纯粹的主键,那就用number,这样 sequence比较好控制,如果要取有意义的东西,那就用varchar2
huangdh12 2011-08-01
  • 打赏
  • 举报
回复
一般都是用number的。
kingkingzhu 2011-08-01
  • 打赏
  • 举报
回复
用number一般推荐 可以用sequence
zzyzgydotnet 2011-08-01
  • 打赏
  • 举报
回复
用GUID啊,可以直接保证不重复,不过没有任何含义
flychenxw 2011-08-01
  • 打赏
  • 举报
回复
有些编号不光是系统标记用,直观也是可考虑的因数,比如业务流程系统,数据不会很多的话,编号规则可以带年月日。
johncccheung 2011-07-30
  • 打赏
  • 举报
回复
其实我比较懒,我一般用GUID,默认用sys_guid()去默认自动产生。
并且使用varchar2去存放的。有利有弊。自己用着舒服就可以了。
caoleione 2011-07-29
  • 打赏
  • 举报
回复
使用序列 NUMBER类型好些
Liu_36 2011-07-29
  • 打赏
  • 举报
回复
oracle中用number
  • 打赏
  • 举报
回复
number
hyj956948933 2011-07-27
  • 打赏
  • 举报
回复
尽量统一吧。
amdgaming 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yinan9 的回复:]

按照通常的设计,一般均为NUMBER,或者VARCHAR2.
但是在使用varchar2类型字段作为主键的时候,只要避免隐式转换的问题,表性能是不会受影响的。
如 ID 类型为varchar2
在查询中 where id=5 的性能就会远远低于 where id='5'.

出于某些特殊需求的考虑,可能会使用其他类型的主键,但这种情况还是很少的。
性能至上吧,楼主最好针对实际情况测……
[/Quote]

你说的是真的吗?不要误导啊,

我认识 数据库对于 number类型 处理还是要 快一些的
zbjumper 2011-07-24
  • 打赏
  • 举报
回复
oracle数字类的只有number类型啊,即便是你写成别的,oracle也会自动转换成number(m,n)型的,m是长度,n是小数位数,id是几位你就把m写成几就行了,n可以省略不写。number(m)。

不过如果作为primary key,不进行数据的运算,都把id作为主键,用varchar2型。
Leshami 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 amdgaming 的回复:]
引用 7 楼 yinan9 的回复:

按照通常的设计,一般均为NUMBER,或者VARCHAR2.
但是在使用varchar2类型字段作为主键的时候,只要避免隐式转换的问题,表性能是不会受影响的。
如 ID 类型为varchar2
在查询中 where id=5 的性能就会远远低于 where id='5'.

出于某些特殊需求的考虑,可能会使用其他类型的主键,但这种情况还是很少的……
[/Quote]
七楼说的没错.数据量不大的话用int,量大的话就用number型
tangren 2011-07-24
  • 打赏
  • 举报
回复
具体情况具体分析,一般使用number或者varchar2
wallace_jjh 2011-07-22
  • 打赏
  • 举报
回复
1 number与 integer 各自最大精度、占几位? =》number最大128位,integer最大28位
2 simple_integer 优点有那些? =》这个不怎么用,可能为了限制字段吧
3 一个表的ID 到底用什么数据类型好?ID自增 =》用number类型比较好
yinan9 2011-07-22
  • 打赏
  • 举报
回复
按照通常的设计,一般均为NUMBER,或者VARCHAR2.
但是在使用varchar2类型字段作为主键的时候,只要避免隐式转换的问题,表性能是不会受影响的。
如 ID 类型为varchar2
在查询中 where id=5 的性能就会远远低于 where id='5'.

出于某些特殊需求的考虑,可能会使用其他类型的主键,但这种情况还是很少的。
性能至上吧,楼主最好针对实际情况测试一下
秋雨飘落 2011-07-22
  • 打赏
  • 举报
回复
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
shlrod 2011-07-22
  • 打赏
  • 举报
回复
求牛人
\
shlrod 2011-07-22
  • 打赏
  • 举报
回复
求解答
shlrod 2011-07-22
  • 打赏
  • 举报
回复
具体占几位?精度是怎样的?没人具体说说吗?我只查到integer 很大,很浪费资源。。。number默认是多少位?
加载更多回复(2)
为什么要学习这门课程?·新一代流式数据湖技术组件深入讲解,帮助你快速构造数据湖知识体系。·为构建湖仓一体架构提供底层技术支撑。本课程将从原理、架构、底层存储细节、性能优化、管理等层面对Paimon流式数据湖组件进行详细讲解,原理+实战,帮助你快速上手使用数据湖技术。讲师介绍华为HCIP认证大数据高级工程师北京猎豹移动大数据技术专家中科院大数据研究院大数据技术专家51CTO企业IT学院优秀讲师电子工业出版社2022年度优秀作者出版书籍:《Flink入门与实战》、《大数据技术及架构图解实战派》。本课程提供配套课件、软件、试题、以及源码。课程内容介绍:1、什么是Apache Paimon2、Paimon的整体架构3、Paimon的核心特点4、Paimon支持的生态5、基于Flink SQL操作Paimon6、基于Flink DataStream API 操作Paimon7、Paimon中的内部和外部8、Paimon中的分区和临时9、Paimon中的Primary Key(主键)10、Paimon中的Append Only(仅追加)11、Changelog Producers原理及案例实战12、Merge Engines原理及案例实战13、Paimon中的Catalog详解14、Paimon中的Table详解15、Paimon之Hive Catalog的使用16、动态修改Paimon属性17、查询Paimon系统18、批量读取Paimon19、流式读取Paimon20、流式读取高级特性Consumer ID21、Paimon CDC数据摄取功能22、CDC之MySQL数据同步到Paimon23、CDC之Kafka数据同步到Paimon24、CDC高级特性之Schema模式演变25、CDC高级特性之计算列26、CDC高级特性之特殊的数据类型映射27、CDC高级特性之中文乱码28、Hive引擎集成Paimon29、在Hive中配置Paimon依赖30、在Hive中读写Paimon31、在Hive中创建Paimon32、Hive和Paimon数据类型映射关系33、Paimon底层文件基本概念34、Paimon底层文件布局35、Paimon底层文件操作详解36、Flink流式写入Paimon过程分析37、读写性能优化详细分析38、Paimon中快照、分区、小文件的管理39、管理标签(自动管理+手工管理)40、管理Bucket(创建+删除+回滚)

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧