细分主键

  主键本身是很简单的,但是围绕他产生的故事就不是那么简单了。

1、 管理

这个是最重要的,没有规矩不成方圆,主键要如何管理一定要实现确定好了,甚至有必要为此写一个规范。比如是全公司采用相同的方式处理主键,还是根据项目、产品来各自管理?还是由项目组成员自行决定?这些都是需要实现说清楚的。

2、 定义

不是说“主键”这个词的定义,而是主键用什么,比如用GUID还是用int,还是年月日时分秒+流水?

3、 生成

主键用什么确定好了之后就是如何生成了。比如GUID,是在程序里生成,还是由数据库的字段默认值来生成?采用无序的GUID还有有序的GUID?再比如int,是采用MSSQL 的自增,还是自己管理。如果自己管理的话,那么是写一个存储过程还是在代码里面写个函数(类)?

4、 安全

1,2,3,4这种主键是否够安全?是不是因为不安全就不能用了?一定要改成GUID才行?那么改成GUID了,是否还需要进行安全判断?什么情况下可以用int,什么时候不能用(因为安全原因)?

5、 效率

主键要不要设置索引?聚集的还是非聚集的,还是不用索引?int的和GUID的效率到底差了多少?

6、 移植

要不要考虑数据库的移植,以后会不会更换数据库?换数据库了会不会崩溃?

7、 数据合并

几个分公司的数据需要合并到一起,主键是否会冲突(重复)?

说这些的目的就是想让大家讨论的时候更明确一些,虽然我们都在讨论主键,但是这个范围也是很大的。

欢迎大家继续补充。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯云Elasticsearch Service

Elasitcsearch 底层系列 Lucene 内核解析之Lucene概览

       Luene是一款高性能、可扩展的信息检索库,用于完成文档元信息、文档内容等搜索功能。用户可以使用Lucene 或 基于Lucene的成熟产品Nut...

2581
来自专栏数据和云

深入解析:DB2 V10.5新特性列式存储表的优点与缺点

李培杨 云和恩墨西区交付技术顾问,有多年数据库运维经验,长期服务移动运营商行业客户,熟悉 DB2 数据库故障诊断,数据库迁移升级。

1354
来自专栏友弟技术工作室

Mysql大表优化方案

除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是...

4927
来自专栏杨建荣的学习笔记

SQL审核工具SQL Advisor简单体验

现在的很多大公司,都喜欢招丰富经验的人,从公司的角度来说,能把当前的事务性工作解决了,在这个基础上能够把你的理解和知识沉淀下来,那是极好的,说通俗一些,算是吸...

2582
来自专栏Java Web

SpringBoot技术栈搭建个人博客【项目准备】

5324
来自专栏数据和云

那些年,我们处理过的SQL问题

作者 | 郑林松,朗新科技股份有限公司数据库技术专家,从业10多年,主要服务移动运营商客户,电力客户,证券客户,制造业客户。精通 Oracle 性能优化,故障诊...

1202
来自专栏Java Web

SpringBoot技术栈搭建个人博客【项目准备】

总体目标:设计一套自适应/简洁/美观/易于文章管理发布的一个属于我个人的博客,最后一页能展示我个人的简历,因为大三快结束了马上就该去找工作了...哦忘了,最重要...

4968
来自专栏杨建荣的学习笔记

ADG备库批量查询失败的原因分析(r8笔记第33天)

目前线上有一套环境是10gR2的,采用了一主两备的架构。在其中一个备库上每天凌晨会开放一个窗口运行一些批量的查询,目前使用dg broker会在指定的时间把备库...

3708
来自专栏杨建荣的学习笔记

一条简单的sql语句导致的系统问题(r4笔记第51天)

新年,给大家拜年了。祝大家工作顺利,万事如意。 今天照例简单检查了系统的情况,发现在客户的服务器在下午的3-5点这个时间段,数据库负载略有上升,但是幅度不大,因...

3726
来自专栏乐沙弥的世界

Oracle ADDM性能诊断利器及报告解读

性能优化是一个永恒的话题,性能优化也是最具有价值,最值得花费精力深入研究的一个课题,因为资源是有限的,时间是有限的。在Oracle数据库中,随着Oracle功能...

1592

扫码关注云+社区

领取腾讯云代金券