社区
Oracle
帖子详情
字符串做主键,效率相比数字会低多少呢?
humanity
2006-03-26 01:49:35
我有这个想法,
我的标的主键都是生成的,跟具体业务数据没有相关性。
我想过2个法子:
1: 是很多人都用的 sequence 生成的,但使我担心以后导入会重复么?
2: 我用 UUID 生成器生成的字符串(用 MAC 地址 + System.currentTimeMills()) ,这个重复的概率太低了,我又担心做主键可能效率比数字低很多,但是我不知道怎么比较这两种效率?
我用 UUID 可行么?
...全文
796
7
打赏
收藏
字符串做主键,效率相比数字会低多少呢?
我有这个想法, 我的标的主键都是生成的,跟具体业务数据没有相关性。 我想过2个法子: 1: 是很多人都用的 sequence 生成的,但使我担心以后导入会重复么? 2: 我用 UUID 生成器生成的字符串(用 MAC 地址 + System.currentTimeMills()) ,这个重复的概率太低了,我又担心做主键可能效率比数字低很多,但是我不知道怎么比较这两种效率? 我用 UUID 可行么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
humanity
2006-04-21
打赏
举报
回复
Sorry.看错了,有位兄弟没给分。
humanity
2006-04-21
打赏
举报
回复
忘了撕帖
goldarcher2005
2006-03-31
打赏
举报
回复
用UUID和rowid有什么区别,如果主键和业务完全脱离,就不要建主键了
humanity
2006-03-28
打赏
举报
回复
我说的 UUID 是 :e0d36b8c-c9e7-3519-9607-8ace76c120cd 这种形式,
我跑了 2 百万个,都没有发现有重复的, 我是使用 MAC 地址 + System.currentTimeMills() 种子使用 UUID 生成器生成的 。
是不是我导入数据就一次性导入所有数据而不能只导入一部分?
[ lilyway(cicydos) ] 说的
至于长度有关是怎么回事?
我猜想 Oracle Number 光一个数字能表示 19 位么,最大最小精度分别是多少啊 ?
当然我知道比起字符串效率还是应该高点吧。
lilyway
2006-03-27
打赏
举报
回复
不管数字还是字符在oracle内都是以它内部的格式处理,只与长度有关。
开发者开聊
2006-03-27
打赏
举报
回复
1: 是很多人都用的 sequence 生成的,但使我担心以后导入会重复么?
效率高是显然的,
为什么会重复? sequence是可以你自己控制的
主键都是生成的,跟具体业务数据没有相关性,那么就是解决重复问题也很简单
2: 我用 UUID 生成器生成的字符串(用 MAC 地址 + System.currentTimeMills()) ,这个重复的概率太低了,我又担心做主键可能效率比数字低很多,但是我不知道怎么比较这两种效率?
对于服务器,MAC 地址这个东西是不变的,放在主键上有什么意思?
huataixiang19810225
2006-03-26
打赏
举报
回复
字符串的比较是一个一个字符的比较,而整形只需要比较一次,你去慢慢衡量吧
例如:
abcdefg和abcdefgh要比较8次,而100000000和1000000000只需要比较-次
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
MySQL
字符串
主键
和整型
主键
分析
工作中需要把UUID的
主键
改成整型自增的
主键
,虽然知道INNODB的一些特性,改成自增
主键
之后
会
提升很多,但是没有测试。在测试过程中<左兴宇>给了很多帮助,非常感谢。 测试一: root@localhost : test ...
为什么查询时候使用代理
主键
的整型
数字
比复合
主键
字符串
要好
3. 存取
效率
:在内存中进行数据操作时,整型
数字
的存取
效率
通常
会
比
字符串
类型的复合
主键
更高。整型
数字
通常不需要进行额外的转换、验证和格式化操作,而
字符串
类型的复合
主键
可能需要进行更复杂的处理。
相比
之下,...
为什么查询时候使用代理
主键
的整型
数字
比复合
主键
字符串
要好?这与B+树又有什么关系
整型
数字
的连续性和有序性使得B+树在构建和维护索引时更加高效,而
字符串
类型的复合
主键
可能
会
导致索引结构的碎片化和维护成本增加。B+树是一种常用的索引结构,它对于不同类型的
主键
具有不同的适用性。
数据库
主键
int型和str型
效率
比较
又看到这样的一段话:
主键
用整型
会
极大的提高查询
效率
,而字符型的比较开销要比整型的比较开销大很多,用字符型数据作
主键
会
使数据插入、更新与查询的
效率
降
低
。数据量小的时候这点降
低
可能不
会
被注意,可是当数据...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章