文章详情页
数据库设计 - MySQL数据库主键问题
浏览:151日期:2022-06-15 15:33:26
问题描述
前几天在项目组里,总监建议把所有数据表的主键设为字符串类型(UUID),由应用程序维护数据表的主键,问下这个主要是出于什么方面的考虑呢???P.S. 我们用的MySQL数据库,存储引擎用的InnoDB,看了很多DBA的文章建议是说InnoDB类型的表最好是使用自增主键...
问题解答
回答1:UUID生成主键避免了主键重复,程序易维护,@wangcw解释的蛮好,至于劣势,经验所限,暂且没遇上
回答2:就我理解,使用UUID优势,重复性低,方便自动生成,不用考虑主键重复插入失败问题;不建议使用UUID原因:数据量达到一定值后索引维护很不方便,数据库性能大打折扣,对分片条理性也有一定影响。
回答3:使用UUID的话,得通过应用去维护主键,这样的话不是很繁琐么...
相关文章:
1. java - mybatis怎么实现在数据库中有就修改,没有就添加2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. MYSQL新建用户设置可以远程访问的问题4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. 数据库 - mysql 远程可以连接,但是本地连接拒绝?7. mysql 5.7单表300万数据,性能严重下降,如何破?8. mysql 为何insert的时候会有lock wait timeout 异常9. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么10. mysql同步数据到elasticsearch用什么工具?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)