Oracle Universal Unique Identifier (UUID)
本文介绍Oracle生成全局唯一ID的函数SYS_GUID,后续会对SYS_GUID和Sequence两种方法进行比较。
SYS_GUID 函数生成并返回一个由 16 个字节组成的全局唯一标识符(RAW 值)。在大多数平台上,生成的标识符由主机标识符、调用该函数的进程或线程的进程或线程标识符以及该进程或线程的非重复值(字节序列)组成。
create table loc as select * from locations;
ALTER TABLE loc ADD (uid_col RAW(16));
UPDATE loc SET uid_col = SYS_GUID();SELECT location_id, uid_col FROM locORDER BY location_id, uid_col;LOCATION_ID UID_COL
----------- --------------------------------1000 27C94AC98E2B13C5E0634600000A203B1100 27C94AC98E2C13C5E0634600000A203B1200 27C94AC98E2D13C5E0634600000A203B1300 27C94AC98E2E13C5E0634600000A203B1400 27C94AC98E2F13C5E0634600000A203B1500 27C94AC98E3013C5E0634600000A203B1600 27C94AC98E3113C5E0634600000A203B1700 27C94AC98E3213C5E0634600000A203B1800 27C94AC98E3313C5E0634600000A203B1900 27C94AC98E3413C5E0634600000A203B2000 27C94AC98E3513C5E0634600000A203B2100 27C94AC98E3613C5E0634600000A203B2200 27C94AC98E3713C5E0634600000A203B2300 27C94AC98E3813C5E0634600000A203B2400 27C94AC98E3913C5E0634600000A203B2500 27C94AC98E3A13C5E0634600000A203B2600 27C94AC98E3B13C5E0634600000A203B2700 27C94AC98E3C13C5E0634600000A203B2800 27C94AC98E3D13C5E0634600000A203B2900 27C94AC98E3E13C5E0634600000A203B3000 27C94AC98E3F13C5E0634600000A203B3100 27C94AC98E4013C5E0634600000A203B3200 27C94AC98E4113C5E0634600000A203B23 rows selected.
注意以上输出中的第12-13字节是有序的,从B1,C1,到40,41。这模拟了sequence的特点,但这不是必然的,例如在不同的节点上,如RAC。
查询时,直接使用uid_col和rawtohex(uid_col)显式转换的结果都是一样的,说明前者数据库进行了隐式转换。
SQL> desc locName Null? Type----------------------------------------- -------- ----------------------------LOCATION_ID NUMBER(4)STREET_ADDRESS VARCHAR2(40)POSTAL_CODE VARCHAR2(12)CITY NOT NULL VARCHAR2(30)STATE_PROVINCE VARCHAR2(25)COUNTRY_ID CHAR(2)UID_COL RAW(16)SQL> select rawtohex(uid_col) from loc;RAWTOHEX(UID_COL)
--------------------------------
27C94AC98E2B13C5E0634600000A203B
27C94AC98E2C13C5E0634600000A203B
27C94AC98E2D13C5E0634600000A203B
27C94AC98E2E13C5E0634600000A203B
27C94AC98E2F13C5E0634600000A203B
27C94AC98E3013C5E0634600000A203B
27C94AC98E3113C5E0634600000A203B
27C94AC98E3213C5E0634600000A203B
27C94AC98E3313C5E0634600000A203B
27C94AC98E3413C5E0634600000A203B
27C94AC98E3513C5E0634600000A203B
27C94AC98E3613C5E0634600000A203B
27C94AC98E3713C5E0634600000A203B
27C94AC98E3813C5E0634600000A203B
27C94AC98E3913C5E0634600000A203B
27C94AC98E3A13C5E0634600000A203B
27C94AC98E3B13C5E0634600000A203B
27C94AC98E3C13C5E0634600000A203B
27C94AC98E3D13C5E0634600000A203B
27C94AC98E3E13C5E0634600000A203B
27C94AC98E3F13C5E0634600000A203B
27C94AC98E4013C5E0634600000A203B
27C94AC98E4113C5E0634600000A203B23 rows selected.SQL> select city from loc where uid_col='27C94AC98E2B13C5E0634600000A203B';CITY
------------------------------
RomaSQL> select city from loc where uid_col=hextoraw('27C94AC98E2B13C5E0634600000A203B');CITY
------------------------------
Roma
SYS_GUID的高并发插入性能比sequence要好,引发的latch更少,也就是scalability更好。但缺点是:
- 占用空间较多
- 由于数据较分散,后续查询时会引发更多的I/O。
所以,选用Sequence还是SYS_GUID,实际上没有明确的答案。需要视具体情况而定。后续有时间再做详细讨论。
参考
- SQL Language Reference: SYS_GUID
相关文章:
Oracle Universal Unique Identifier (UUID)
本文介绍Oracle生成全局唯一ID的函数SYS_GUID,后续会对SYS_GUID和Sequence两种方法进行比较。 SYS_GUID 函数生成并返回一个由 16 个字节组成的全局唯一标识符(RAW 值)。在大多数平台上,生成的标识符由主机标识符、调用该函数的进…...
LangChain——加载知识库文本文档 PDF文档
文档加载 这涵盖了如何加载目录中的所有文档。 在底层,默认情况下使用 UnstructedLoader。需要安装依赖 pip install unstructuredpython导入方式 from langchain_community.document_loaders import DirectoryLoader我们可以使用 glob 参数来控制加载特定类型文…...
shell编程3,参数传递+算术运算
声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…...
Spring boot之BeanDefinition介绍
在spring框架中IOC容器进行bean的创建和管理。Bean的创建是一个比较复杂的过程,它并不像我们创建对象一样只是直接new一下就行,虽然有些bean确实就是New一下。但在Spring中可以通过一些途径对bean进行增强扩展。在这个过程中,BeanDefinition作…...
JAVA:Spring Boot 3 实现 Gzip 压缩优化的技术指南
1、简述 随着 Web 应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈。为了减少数据传输量,提高用户体验,我们可以使用 Gzip 压缩 HTTP 响应。本文将介绍如何在 Spring Boot 3 中实现 Gzip 压缩优化。 2、配置 Spring Boot 3 对…...
探索 IntelliJ IDEA 中 Spring Boot 运行配置
前言 IntelliJ IDEA 作为一款功能强大的集成开发环境(IDE),为 Spring Boot 应用提供了丰富的运行配置选项,定义了如何在 IntelliJ IDEA 中运行 Spring Boot 应用程序,当从主类文件运行应用程序时,IDE 将创建…...
Java学习,反射
Java反射是Java编程语言的一个重要特性,它允许程序在运行时查看任意对象所属的类,获取类的内部信息(包括构造器、字段和方法等),并能动态地调用对象的方法或构造器。 反射概念 反射(Reflection)…...
应急响应靶机——Windows挖矿事件
载入虚拟机,开启虚拟机: (账户密码:administrator/zgsf123) 发现登录进去就弹出终端界面,自动运行powshell命令,看来存在计划任务,自动下载了一些文件,之后就主动结束退…...
0017. shell命令--tac
目录 17. shell命令--tac 功能说明 语法格式 选项说明 实践操作 注意事项 17. shell命令--tac 功能说明 Linux 的 tac 命令用于按行反向输出文件内容,与 cat 命令的输出顺序相反。非常有趣,好记。也就是说,当我们使用tac命令查看文件内…...
富文本编辑器图片上传并回显
1.概述 在代码业务需求中,我们会经常涉及到文件上传的功能,通常来说,我们存储文件是不能直接存储到数 据库中的,而是以文件路径存储到数据库中;但是存储文件的路径到数据库中又会有一定的问题,就是 浏览…...
深入学习MapReduce:原理解析与基础实战
标题:深入学习MapReduce:原理解析与基础实战 MapReduce是一种分布式计算框架,用于大规模数据的处理和分析。作为Hadoop生态系统的核心组件,MapReduce凭借其简单的编程模型和强大的并行计算能力,广泛应用于大数据领域。…...
医院数据库优化:提升性能与响应时间的关键策略
一、引言 在当今数智化时代,医院信息系统不仅要追踪管理伴随人流、财流、物流所产生的管理信息,还应支持以病人医疗信息记录为中心的整个医疗、科学、科研活动,提高整个医院的运作效率。但随着信息化系统积累数据的增长,特别是病…...
OpenAI Whisper 语音识别 模型部署及接口封装
环境配置: 一、安装依赖: pip install -U openai-whisper 或者,以下命令会从这个存储库拉取并安装最新的提交,以及其Python依赖项: pip install githttps://github.com/openai/whisper.git 二、安装ffmpeg: cd …...
设计模式 外观模式 门面模式
结构性模式-外观模式 门面模式 适用场景:如果你需要一个指向复杂子系统的直接接口, 且该接口的功能有限, 则可以使用外观模式。 不用关心后面的查询具体操作 /*** 聚合查询接口*/ RestController RequestMapping("/search") Slf…...
AI智算-正式上架GPU资源监控概览 Grafana Dashboard
下载链接 https://grafana.com/grafana/dashboards/22424-ai-gpu-20241127/...
颜色分类
颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数…...
使用 pycharm 新建使用 conda 虚拟 python 环境的工程
1. conda 常见命令复习: conda env list // 查看 conda 环境列表 conda activate xxxenv // 进入指定 conda 环境2. 环境展示: 2.1. 我的物理环境的 Python 版本为 3.10.9: 2.2. 我的 conda 虚拟环境 env_yolov9_python_3_8 中的 pyth…...
图形渲染性能优化
variable rate shading conditional render 设置可见性等, 不需要重新build command buffer indirect draw glMultiDraw* - 直接支持多次绘制glMultiDrawIndirect - 间接多次绘制multithreading 多线程录制 实例化渲染 lod texture array 小对象剔除 投影到…...
14、保存与加载PyTorch训练的模型和超参数
文章目录 1. state_dict2. 模型保存3. check_point4. 详细保存5. Docker6. 机器学习常用库 1. state_dict nn.Module 类是所有神经网络构建的基类,即自己构建一个深度神经网络也是需要继承自nn.Module类才行,并且nn.Module中的state_dict包含神经网络中…...
简单获取json预览
data: JSON 数据。 collapsedNodeLength: 对象或数组的长度超过此阈值时会折叠 deep: json路径深度超过此值时会折叠 showLineNumber: 显示左侧行号 showIcon: 显示图标。 virtual: 使用虚拟滚动 height: 使用虚拟滚动时列表的高度 itemHeight: 使用虚拟滚动时节点的高…...
【C语言】连接陷阱探秘(5):头文件
目录 一、头文件的作用 1.1. 声明共享 1.2. 模块化 1.3. 实践中的注意事项 二、常见的头文件陷阱 2.1 重复包含(Include Guards) 2.1.1. Include Guard 工作原理 2.1.2. Pragma Once(某些编译器支持) 2.2 循环依赖(Circular Dependencies) 2.2.1. 前向声明 2.…...
burpsuite功能模块学习(2)
声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…...
Vue 2.0->3.0学习笔记(Vue 3 (四)- Composition API 的优势)
Vue 2.0->3.0学习笔记(Vue 3 (四)- Composition API 的优势) Composition API 的优势1. Options API 存在的问题2. Composition API 的优势 Composition API 的优势 1. Options API 存在的问题 笔记 使用传统OptionsA…...
在 ASP.NET C# Web API 中实现 Serilog 以增强请求和响应的日志记录
介绍 日志记录是任何 Web 应用程序的关键方面。它有助于调试、性能监控和了解用户交互。在 ASP.NET C# 中,集成 Serilog 作为记录请求和响应(包括传入和传出的数据)的中间件可以显著提高 Web API 的可观察性和故障排除能力。 在过去的几周里&…...
MongoDB集群分片安装部署手册
文章目录 一、集群规划1.1 集群安装规划1.2 端口规划1.3 目录创建 二、mongodb安装(三台均需要操作)2.1 下载、解压2.2 配置环境变量 三、mongodb组件配置3.1 配置config server的副本集3.1.1 config配置文件3.1.2 config server启动3.1.3 初始化config …...
DimensionX 学习部署笔记
目录 依赖项: huggingface/DimensionX 是huggingface 下载后的目录; 报错处理参考网址: 测试代码 ok: 依赖项: pip install peft huggingface/DimensionX 是huggingface 下载后的目录; orbit_left_lora_weights.safetensors orbit_up_lora_weights.safetensors …...
设计模式:11、迭代器模式(游标)
目录 0、定义 1、迭代器模式的四种角色 2、迭代器模式的UML类图 3、示例代码 4、迭代器的next()方法与集合的get(int index)方法的效率对比(LinkedList为例) 0、定义 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象…...
【CameraPoseRefinement】以BARF为例介绍三维重建中的位姿优化
文章目录 IntroductionApproachPlanar Image Alignment(2D)Neural Radiance Fields (3D)Bundle-Adjusting Neural Radiance Fields Experiment平面图像对齐的定性实验合成场景上的定量实验 Introduction 在计算机视觉三维重建中,求解3D场景的表示和定位给定的相机帧…...
大语言模型压缩技术;推理优化技术;SparseGPT算法;GPTQ算法
目录 大语言模型落地的成本、效率与效果 模型压缩技术 推理优化技术 SparseGPT算法 GPTQ算法 大语言模型落地的成本、效率与效果 模型压缩技术 模型压缩技术是大语言模型轻量化的关键。介绍了多种模型压缩方法,其中权重量化和模型稀疏化是两种主要的技术。 权重量化:权重…...
ctrl键和大写键互换解决方法
电脑卡住之后突然发现Ctrl键和大小写键(CapsLock)互换了,后面试了几种方法都没解决这个问题,最后在万能的贴吧中找到解决方法——键位复位。 108和87键位复位操作: 1.先按住FN不放, 然后,再按住…...
spring boot mapper测试类优化
spring boot mapper测试类优化 有些时候我们只需要测试在 mybatis 写的mapper 是否正确,在注入mapper的时候, SpringBootTest 会启动整个容器,包括servlet容器和spring 容器,随着项目文件数逐渐增加,测试一个类会启动…...
k8s集成skywalking
如果能科学上网的话,安装应该不难,如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容,对于目前大部分采用微服务架构的公司来说,分布式链路追踪都是必备的,无论它是传统微服务体系亦或是新一代…...
贪心算法理论
系列博客目录 文章目录 系列博客目录贪心算法 (Greedy Algorithm)贪心算法的特点贪心算法的适用条件常见的贪心算法问题贪心算法的步骤贪心算法示例:活动选择问题贪心算法的优缺点 贪心算法 (Greedy Algorithm) 贪心算法是一种在每一步选择中都采取当前状态下最优的…...
前端项目扫描漏洞整改的解决方案,附带部分漏洞的解决方法。
天崩开局 最近项目开始了漏洞扫描,于是乎 哎嘿嘿。。。 我直接彻底疯狂!!!! 我真的受不了了,这破班谁爱上谁上!依赖开发的锅,为什么要我来背。 在这里点名批评一下 inflight&#…...
brew安装NVM新手教程
首先确保macos下已安装好brew,搜索nvm资源代码: brew search nvm 演示效果图如下: 安装命令 brew install nvm 卸载命令 brew uninstall node 安装完成后提示如下: 直接命令行执行下代码的代码 export NVM_DIR"$HOME/.…...
Open3D (C++) 生成任意2D椭圆点云
目录 一、算法原理二、代码实现三、结果展示一、算法原理 椭圆标准参数方程为: x = a ∗ c o s ( t ) y = b ∗...
前端框架Vue3项目实战(基于Vue3实现一个小相册)
下面是是对Vue3操作的一个项目实战 下面代码是html的基本骨架(没有任何的功能): <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>相册</title> <style&…...
【Git系列】利用 Bash 脚本获取 Git 最后一次非合并提交的提交人
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
启动tomcat报错./startup.sh: Permission denied
报错解释: 这个错误表明你正在尝试启动Tomcat服务器,但是没有足够的权限来执行startup.sh脚本。 解决方法: 使用chmod命令修改脚本的权限,使得用户具有执行权限。 chmod x /path/to/tomcat/bin/startup.sh 或者 chmod x /path…...
【开篇】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...
【机器学习】支持向量机SVR、SVC分析简明教程
关于使用SVM进行回归分析的介绍很少,在这里,我们讨论一下SVR的理论知识,并对该方法有一个简明的理解。 1. SVC简单介绍 SVR全称是support vector regression,是SVM(支持向量机support vector machine)对回…...
EasyDSS视频推拉流技术的应用与安防摄像机视频采集参数
安防摄像机的视频采集参数对于确保监控系统的有效性和图像质量至关重要。这些参数不仅影响视频的清晰度和流畅度,还直接影响存储和网络传输的需求。 安防摄像机图像效果的好坏,由DSP处理器和图像传感器sensor决定,如何利用好已有的硬件资源&…...
【详细介绍及演示】Flink之checkpoint检查点的使用
目录 一、介绍 二、 设置checkpoint检查点演示 1、 代码演示 2、测试代码效果 3、查看快照情况 编辑 三、在集群上运行 1、第一次运行 2、第二次运行 四、自定义检查点savePoint 1、提交一个flink job 打成jar包 2、输入一些数据,观察单词对应的数字的…...
使用uni-app进行开发前准备
使用uni-app进行开发,需要遵循一定的步骤和流程。以下是一个详细的指南,帮助你开始使用uni-app进行开发: 一、开发环境搭建 安装Node.js: 首先,从Node.js的官方网站(https://nodejs.org/)下载并…...
deepin 安装 chrome 浏览器
deepin 安装 chrome 浏览器 最近好多小伙伴儿和我说 deepin 无法安装最新的谷歌浏览器 其实是因为最新的 谷歌浏览器 其中的一个依赖需要提前安装 提前安装依赖然后再安装谷歌浏览器就可以了 安装 fonts-liberationsudo apt -y install fonts-liberation安装 chrome 浏览器sudo…...
Vue-01
Vue框架 Vue官网: Vue.js 框架 数据模型和view的通信就是依靠viewmodel的关键。 目前主流版本仍然是vue2版本。 Vue快速入门 1.新建一个HTML文件,引入Vue.js文件。Vue.js文件是官方引入的一个文件,我们如果要使用Vue就必须引入这个文件。…...
【Oracle】个人收集整理的Oracle常用SQL及命令
【建表】 create table emp( id number(12), name nvarchar2(20), primary key(id) ); 【充值一】 insert into emp select rownum,dbms_random.string(*,dbms_random.value(6,20)) from dual connect by level<101; 【充值二】 begin for i in 1..100 loop inser…...
11.28.2024刷华为OD
文章目录 C-100-5键键盘(extend来加入list后尾)题目2语法知识记录 C-100-5键键盘(extend来加入list后尾) 考虑所有情况extend来加入clip数组内容到screen 【】 题目2 链接 代码 语法知识记录...
【S500无人机】--地面端下载
之前国庆的时候导师批了无人机,我们几个也一起研究了几次,基本把无人机组装方面弄的差不多了,还差个相机搭载,今天我们讲无人机的调试 硬件配置如下 首先是地面端下载,大家可以选择下载: Mission Planne地…...
Redis2——协议与异步方式
文章目录 Redis2——协议与异步方式1. Redis Pipeline2. Redis事务2.1 无锁事务控制(乐观事务控制)2.2 事务语句与lua脚本2.3 事务特性ACID 3. 通信方式3.1 hiredis库3.2 同步连接3.3 异步连接3.3.1 hiredis管理监听事件接口3.3.2 hiredis libevent3.3.…...