当前位置: 首页 > news >正文

专门做日本旅行网站北京seo优化排名推广

专门做日本旅行网站,北京seo优化排名推广,做今网站,网站建设公司模版当我们选择数据库的主键类型时,通常会考虑自增数字或者 UUID。但是这两种类型都有优缺点,自增字段简单有序,性能良好,最大的问题是无法保证全局唯一性,分布式场景受限;UUID 具有全局唯一性,适合…

当我们选择数据库的主键类型时,通常会考虑自增数字或者 UUID。但是这两种类型都有优缺点,自增字段简单有序,性能良好,最大的问题是无法保证全局唯一性,分布式场景受限;UUID 具有全局唯一性,适合分布式应用,但是早期版本的 UUID 具有随机性,性能不如自增数字。

不过,随着 UUIDv7 的出现,已经解决了 UUID 没有随着时间递增的问题,它的组成如下:

在这里插入图片描述

UUIDv7 包含 128 比特(每 4 比特组成一个十六进制数字),具体包含:

  • 48 比特时间戳(精度为毫秒);
  • 4 比特UUID 版本(7);
  • 12 比特随机数字;
  • 2 比特(UUID 类型);
  • 62 比特随机数字。

完整的 UUIDv7 介绍可以参考 RFC 9562。

UUIDv7 最大的优势是具有时间递增性和全局唯一性,非常适合作为数据库的主键,包括分布式数据库。

很多编程语言都提供了生成 UUIDv7 的代码库,不过今天我们要介绍的是在数据库中使用 SQL 实现 UUIDv7,完全不需要依赖其他组件。

首先,我们来看一下 PostgreSQL 中的实现:

select-- timestamplpad(to_hex(((extract(epoch from now()) * 1000)::bigint >> 16)), 8, '0') || '-' ||lpad(to_hex(((extract(epoch from now()) * 1000+ (date_part('milliseconds', now())::bigint % 1000))::bigint & 0xffff)), 4, '0') || '-' ||-- versionlpad(to_hex((0x7000 + (random() * 0x0fff)::int)), 4, '0') || '-' ||-- variantlpad(to_hex((0x8000 + (random() * 0x3fff)::int)), 4, '0') || '-' ||-- randomnesslpad(to_hex((floor(random() * (2^48))::bigint >> 16)), 12, '0') AS uuid7;uuid7                               |
------------------------------------+
01904fcb-0ee8-7d9c-a192-000052989c99|

把上面的查询定义为一个函数,就可以实现代码复用了。

接下来是 SQLite 中的实现:

select-- timestampformat('%08x', ((strftime('%s') * 1000) >> 16)) || '-' ||format('%04x', ((strftime('%s') * 1000)+ ((strftime('%f') * 1000) % 1000)) & 0xffff) || '-' ||-- versionformat('%04x', 0x7000 + abs(random()) % 0x0fff) || '-' ||-- variantformat('%04x', 0x8000 + abs(random()) % 0x3fff) || '-' ||-- randomnessformat('%012x', abs(random()) >> 16) as value;value                               |
------------------------------------+
01904fd0-3dae-7460-8d4c-7d0c6b483299|

SQlite 没有自定义函数,可以把上面的查询定义为一个视图,实现代码复用。

其他数据库也可以按照相同的思路实现,欢迎补充。

http://www.shuangfujiaoyu.com/news/28680.html

相关文章:

  • 成都网站开发的公司百度账户
  • 如何改wordpress主页武汉seo搜索优化
  • 动态网站开发小结网络优化包括
  • 2级a做爰片免费网站域名检测查询
  • 品牌的佛山网站建设windows优化大师
  • 寓意好的公司名字大全免费360优化大师最新版下载
  • 网站做中英文切换从哪里找网络推广公司
  • 网站建设 空间什么系统搜索引擎优化简称
  • 企业网站建设的重要性南京疫情最新消息
  • 网络工程师自学网站运营和营销是一回事吗
  • 南京网页设计培训班重庆seo优化推广
  • 焦作做网站推广做销售怎样去寻找客户
  • wordpress首页静态化生成台州seo公司
  • wordpress 4.7.11漏洞百度竞价是seo还是sem
  • 前端培训费用大概多少郑州点击seo软件
  • datadata.asp 网站 破解网络广告策划
  • 阿里巴巴网站导航栏怎么做sem营销
  • 东莞网站建设效果业务推广网站
  • 钢筋网片每平米重量武汉建站优化厂家
  • 安徽中颐建设投资有限公司网站成都seo优化推广
  • 网站运营小结google官方版下载
  • 国内美食网站欣赏百度信息流广告平台
  • 互联网做网站怎么赚钱seo推广网络
  • 专做茶叶的网站邯郸今日头条最新消息
  • 高端企业网站建设真正免费建站
  • 专业做域名的网站口碑营销理论
  • wordpress左栏主题太原百度seo
  • 做那个的网站谁有搜索引擎营销经典案例
  • 网站怎么做跳转链接百度推广渠道
  • 免费p站推广网站入口兰州网站开发公司