社区
MS-SQL Server
帖子详情
请问如何设定一个随机的主键id?
Lansie
2007-04-03 05:29:02
rt
谢了
...全文
292
5
打赏
收藏
请问如何设定一个随机的主键id?
rt 谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leo_lesley
2007-04-04
打赏
举报
回复
---- 例子----
select cast(ceiling(rand() * 100) as int) ---得到1至100之间任一整数
leo_lesley
2007-04-04
打赏
举报
回复
---- 例子----
select cast( floor(rand()*100) as int) --得到0~99之间的随机数
leo_lesley
2007-04-04
打赏
举报
回复
rand()
Lansie
2007-04-04
打赏
举报
回复
不想搞成uniqueidentifier类型的,有什么办法搞个随机的int吗?
feixiangVB
2007-04-03
打赏
举报
回复
newid()
温故MySQL - 21 数据库
主键
应该如何设计?
文章目录1. UU
ID
作为
主键
的问题?2. 自增
ID
作为
主键
的问题?3. 业务字段做
主键
的问题?4. 淘宝的
主键
设计5. 推荐的
主键
设计
主键
使用自增
ID
还是UU
ID
,为什么? 使用UU
ID
作为
主键
会有什么问题? 为什么要尽量
设定
一个
主键
? 1. UU
ID
作为
主键
的问题? 从性能的角度考虑,使用UU
ID
来作为聚簇索引则会很糟糕,它使得聚簇索引的插入变得完全
随机
,这是最坏的情况,使得数据没有任何聚集特性。使用UU
ID
主键
插入行不仅花费的时间更长,而且索引占用的空间页更大。这一方面是由于
主键
字段更长,另一方
数据库用自增做
主键
好还是用自定义的
主键
好?
昨天在与别人的交流中我得知
一个
劝告:“设计数据库,你最好将自增
id
作为
主键
,而不是别的”。我想,为什么呢?为什么非得用
一个
与业务无关的自增
ID
作为
主键
呢?他还没有我的业务编号作为
主键
查找方便呢。于是,我带着疑虑,去求证这一劝告的真实性。 一、从数据在数据库的存储角度来看,自增
id
是int 型,一般比自定义的属性(比如员工号,员工名字,或者用uu
id
等)作为
主键
,所占的磁盘空间都小很多。这样的话,在大型数据的查询、读写,前者的效率是比后者的效率高很多的。感兴趣的小伙伴可以用上百万的数据测试一下。 二、从数据
mysql 自增
id
主键
和
随机
字符串
主键
插入性能比较
理论上,自增
id
作为
主键
的数据,由于不需要频繁的节点分裂(页分裂),其性能要比
随机
字符串作为
主键
性能要好。下面通过实验看一下对比 自增
id
的数据表: CREATE TABLE IF NOT EXISTS `auto_inc_pk`( `
id
` BIGINT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, PRIMARY...
uu
id
和雪花
id
适合做 MySQL
主键
吗?
本篇博客首先从开篇的提出问题,建表到使用jdbcTemplate去测试不同
id
的生成策略在大数据量的数据插入表现,然后分析了
id
的机制不同在mysql的索引结构以及优缺点,深入的解释了为何uu
id
和
随机
不重复
id
在数据插入中的性能损耗,详细的解释了这个问题。在实际的开发中还是根据mysql的官方推荐最好使用自增
id
,mysql博大精深,内部还有很多值得优化的点需要我们学习。
分库分表之后,
主键
ID
如何处理?
当关系型数据库数据量过大时,通常会采用分库分表降低数据库查表压力。分库分表有多种,有分
一个
库多张分表额,有分多个库多张表的。一般分库分表使用ShardingSphere分表,建分片键等。但是分库分表之后,
主键
ID
如何处理呢?相同业务表不同分表的
主键
ID
是不可以相同的,其实这是分库分表之后你必然要面对的
一个
问题,就是
主键
id
咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要
一个
全局唯一的
id
来支持。所以这都是你实际生产环境中必须考虑的问题。
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章