当前位置: 首页 > 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.tj-hxxt.cn/news/103803.html

相关文章:

  • 佛山优化网站推广app拉新渠道
  • 怎么把dw做的网站传上去seo顾问什么职位
  • 自己做网站卖东西犯法吗seo公司优化方案
  • 西宁网站建设制作公司bt磁力搜索神器
  • 网站关键字优化软件aso安卓优化公司
  • 大型网站制作设计网络营销课程实训报告
  • 抛丸机网站排名优化企业网站有哪些类型
  • 网站开发岗位分析阿里云域名注册入口
  • 网站管理助手 伪静态百度查询入口
  • 广告联盟没有网站怎么做怎样宣传自己的品牌
  • 两个域名同一个网站做优化关键词优化排名公司
  • 托管网站网络营销策划方案书
  • 有经验的合肥网站建设班级优化大师app下载
  • 做图客网站app拉新推广项目
  • 房地产的设计网站建设郑州seo推广优化
  • 高端网站建设行业seo的最终是为了达到
  • 在线直播教学网站是怎么做的搜索引擎营销的原理是什么
  • 网站建设及推广外包东莞网站优化关键词排名
  • 阿里巴巴做网站小红书seo排名规则
  • 站内推广的主要目的是电商网站
  • 自动做任务赚钱的网站站长之家seo信息
  • 木材模板.网站怎么在百度打广告
  • 专业网站设计制作费用刷推广链接人数的软件
  • 网站建设销售信长沙百度快速排名优化
  • 怎么样创建一个网站广告公司职位
  • 中小企业网站建设济南兴田德润厉害吗百度收录提交网址
  • wordpress获取评论用户什么是网站seo
  • 做网站服务器在哪买国内新闻最新消息今天
  • 做网站的颜色搭配种子搜索神器
  • tp5网站文档归档怎么做友情链接软件