主键有多种设计

news2025/1/7 5:01:53

1. 自增ID

`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID'

优点:

  • 简单直观
  • 自动生成
  • 递增有序,对索引友好

缺点:

  • 可能暴露业务信息
  • 分布式系统下需要特殊处理
  • 合并数据时可能冲突

2. UUID/GUID

`id` char(36) NOT NULL COMMENT '主键ID'

优点:

  • 全局唯一
  • 分布式友好
  • 不暴露业务信息

缺点:

  • 存储空间大
  • 无序,影响索引效率
  • 不便于人工阅读

3. 雪花算法(Snowflake)

`id` bigint NOT NULL COMMENT '主键ID'

优点:

  • 全局唯一
  • 包含时间戳
  • 有序递增
  • 分布式友好

缺点:

  • 需要单独的ID生成服务
  • 依赖机器时钟

4. 业务复合主键

PRIMARY KEY (`year`, `month`, `day`, `order_no`)

优点:

  • 业务含义明确
  • 天然分区

缺点:

  • 可能变更
  • 查询效率可能较低

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2271370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索大型语言模型新架构:从 MoE 到 MoA

探索大型语言模型新架构:从 MoE 到 MoA 当前,商业科技公司纷纷投身于一场激烈的竞赛,不断扩大语言模型的规模,并为其注入海量的高质量数据,试图逐步提升模型的准确性。然而,这种看似顺理成章的发展路径逐渐…

单片机-静动态数码管实验

P0控制数码管 ,P0低电平 P1,P2,P3高电平 1、静态数码管 需求:数码管显示0,即让p0端口输出数字0的段码0x3f(共阴) #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; //数码管显示数字的数组 共阴极 …

Hyperbolic dynamics

http://www.scholarpedia.org/article/Hyperbolic_dynamics#:~:textAmong%20smooth%20dynamical%20systems%2C%20hyperbolic%20dynamics%20is%20characterized,semilocal%20or%20even%20global%20information%20about%20the%20dynamics. 什么是双曲动力系统? A hy…

细说STM32F407单片机轮询方式CAN通信

目录 一、项目介绍 二、项目配置 1、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 2、CAN1 (1)Bit Timings Parameters组,位时序参数 (2)Basic Parameters组,基本参数 (3&#xff09…

linux装git

前言 以 deepin 深度系统为例,安装命 令行版 Git 非常简单。 安装 注意:需要输入账号密码,否则无法进行。 打开终端,执行如下命令即可。 sudo apt-get install git成功 如下图所示,输入 git ,命令识别即…

微信小程序滑动解锁、滑动验证

微信小程序简单滑动解锁 效果 通过 movable-view (可移动的视图容器,在页面中可以拖拽滑动)实现的简单微信小程序滑动验证 movable-view 官方说明:https://developers.weixin.qq.com/miniprogram/dev/component/movable-view.ht…

Kerberos用户认证-数据安全-简单了解-230403

hadoop安全模式官方文档:https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html kerberos是什么 kerberos是计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。 概念&#…

大麦抢票科技狠活

仅供学习参考,切勿再令您所爱的人耗费高昂的价格去购置黄牛票 ⚠️核心内容参考: 据悉,于购票环节,大麦凭借恶意流量清洗技术,于网络层实时甄别并阻拦凭借自动化手段发起下单请求的流量,强化对刷票脚本、刷票软件以及…

光伏电站的成本估算方式

绿虫仿真设计软件的成本估算功能主要通过以下方式实现: 依据设计方案自动生成材料清单:软件能够根据光伏项目的具体设计,确定所需的各种材料,如光伏组件、逆变器、线缆等。结合市场价格信息:它可以获取实时的市场价格…

结构生物学1-绪论:

请结合图片,详细解释图片中的内容,要求逻辑清晰,并给出整理与答疑1,x射线衍射: 1. X射线与光学显微镜的基本原理对比 X射线的特性:为了解析大约1-5埃(0.1-0.5纳米)的细小原子结构&…

yolo小damo合集

效果如下:这个是图片检测 效果如下:这个是视频检测 效果如下:这个是摄像头检测 1 相关库 除了yolov11所用库之外,本文所用到的额外库为pyqt5,输入指令进行安装 pip install pyqt5 导入所需要的库 import sys fro…

商标名称仅由常见姓氏构成,缺显驳回!

近日一个江苏网友给普推知产商标老杨发过来的一个商标驳回案例,商标驳回的原因与第一次驳回引证的商标居然是不一样的,引证的商标与第一次引证的商标也是不一样的。 看了下引证的两个商标与申请商标名称明显不太近似,或许还有做复审的机会&am…

Rockect基于Dledger的Broker主从同步原理

1.前言 此文章是在儒猿课程中的学习笔记,感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写,有些不清楚的可以看下上一篇博客: RocketMQ原理简述(二)-CSDN博客 2.Broker的高可用 如果…

深入Android架构(从线程到AIDL)_08 认识Android的主线程

目录 3、 认识Android的主线程(又称UI线程) 复习: 各进程(Process)里的主线程​编辑 UI线程的责任: 迅速处理UI事件 举例 3、 认识Android的主线程(又称UI线程) 复习: 各进程(Process)里的主线程 UI线程的责任: 迅速处理UI事…

个人博客自我介绍

你好,我是Chiawei! 大家好,我是Chiawei,一个热爱编程和探索新知识的人。很高兴能在这里与大家分享我的编程之旅。今天,我想和大家聊聊我的自我介绍、编程目标、学习计划以及一些个人想法。 自我介绍 我是一个对技术充…

logback之自定义过滤器

logback有两种过滤器,一种是context中的过滤器叫TurboFilter,是一个全局的过滤器,会影响所有的日志记录。另一种是Appender中的过滤器,只对所在的append有效。两者大同小异,这里我们以Appender的过滤器为例。 &#x…

AcWing练习题:面积

给定三个浮点数 A,B 和 C。 然后,计算如下图形的面积: 底边为 A,高为 C 的三角形。半径 C 的圆。(π3.14159)底边为 A 和 B,高为 C 的梯形。边长为 B 的正方形。边长为 A 和 B 的长方形。 输…

三甲医院等级评审八维数据分析应用(一)--组织、制度、管理可视化篇

一、引言 1.1 研究背景与意义 在当今医疗领域,三甲医院作为医疗服务的核心载体,肩负着保障民众健康、推动医学进步的重任。随着信息技术的飞速发展,数据已成为医院运营管理、医疗质量提升以及科学决策的关键要素。三甲医院等级评审作为衡量医院综合实力与服务水平的重要标…

Spring Bean的初始化过程是怎么样的?

文章内容收录到个人网站,方便阅读:http://hardyfish.top/ 文章内容收录到个人网站,方便阅读:http://hardyfish.top/ 文章内容收录到个人网站,方便阅读:http://hardyfish.top/ Spring Bean 的初始化过程主…

快速上手LangChain(四)LangChain Hub和LangSmith

文章目录 快速上手LangChain(四)LangChain Hub和LangSmith什么是LangChain HubLangChain Hub功能 LangSmith使用 快速上手LangChain(四)LangChain Hub和LangSmith 什么是LangChain Hub LangChain Hub官网地址:https:…