业务设计问题,新手

JiaWa 发布于 2017/03/22 22:03
阅读 48
收藏 1

数据库中,有些字段要求唯一性。我是设置unique约束。还是,当用户给我发请求时,我先去数据库中查找,看看该值是否已经存在。如果存在就返回用户已经存在,不存在的话才插入数据库。

如果是先判断数据库中是否已存在,那么unique约束还有什么用?

加载中
0
Eric_林
Eric_林

两个办法都有解决问题,看取舍,先查找,意味着要进行2次数据库操作,且可能存在要查询的时候不存在,但在你插入的时候就存在了(并发情况下),要解决这个问题;

unique索引其实消耗的是数据库资源,同时代码里要捕获此异常,但肯定保障唯一性,至于第1种办法为什么还在存在,因为有分布式数据库啊,你没法做unique索引

J
JiaWa
谢谢,好像明白点了
0
蓝水晶飞机
蓝水晶飞机
你知道重复你就可以抛出棉球!而数据库那边的数据重复了就是给你抛一个铅球(而且是一个很难让用户明白的)! 所以,检查重复还是有必要的。
0
蓝水晶飞机
蓝水晶飞机
数据库唯一约束还是可以要的,外键你可以不要。
J
JiaWa
谢谢
返回顶部
顶部