社区
MS-SQL Server
帖子详情
请问如何设定一个随机的主键id?
史前攻城狮
2007-04-03 05:29:02
rt
谢了
...全文
308
5
打赏
收藏
请问如何设定一个随机的主键id?
rt 谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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()
史前攻城狮
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
等)作为
主键
,所占的磁盘空间都小很多。这样的话,在大型数据的查询、读写,前者的效率是比后者的效率高很多的。感兴趣的小伙伴可以用上百万的数据测试一下。 二、从数据
数据库设计中是设计联合
主键
还是唯一索引+单一
主键
好?
在
一个
表中user_
id
和type两个字段唯一确定一条记录,那么在设计中是将这两个字段设计为联合
主键
呢,还是建立
一个
逻辑
主键
id
,而将这两个字段设计为唯一索引呢?这两种方式有什么区别?哪个更好呢?具体还是要看你的业务需求。另外说些在读写操作上的区别:1.
主键
和符合
主键
在查询上没什么性能上的区别(前提是索引相同,运用得当)2.写的性能上是有区别的,因为符合
主键
会使用更多的block去创建索引,所以在
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博大精深,内部还有很多值得优化的点需要我们学习。
MS-SQL Server
34,873
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章