[英]mysql unique index used as exception handling method in java
我想知道基于java中sql的唯一索引捕获异常是否是一个好主意。
我想捕获一个异常,例如“ 1-0重复项”,然后处理异常,否则在数据库表中正确插入?
我说你不这样做,有两个原因:
我发现交易更简单:
性能问题 :
我说测量两次,切一次 。 剖析您特定用例的用法。 我要说的是,除了大量的数据库使用情况之外,性能将不是问题。
原因是,一旦您在该特定行上执行了SELECT
,它的数据将被放置在数据库缓存中,并立即用于对INSERT
语句的索引进行插入检查。 同样要记住,此访问由索引支持,因此得出结论,性能将不是问题。
但是,像往常一样,要进行测量。
我不明白为什么不这样。 它可能比在插入之前运行查询更有效。 但是,捕获异常的错误代码可能比识别错误消息要好。
您可以使用REPLACE命令。 它根据记录的存在来插入/更新。 而且它也是原子的,而查询然后不是插入/更新。 如果检测到密钥冲突,这取决于您要做什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.