哪种操作更昂贵 - 在INSERT
之前发出SELECT
查询,或在INSERT
操作期间处理异常?在插入或插入异常之前,我应该检查一个键是否存在?
例如,假设我想要坚持某些用户请求参数说param1
(主键&唯一索引),param2
,param3
到数据库表的要求显示通知,如果一个重复的键已经存在。此外,假定整个过程预计不会超过500毫秒的实时情况。
为什么经常建议为三个参数执行插入语句,然后处理插入异常以迎合重复?我知道抛出异常有成本 - 数据库查询的成本是否超过抛出异常的成本?
您可以使用A vs B代码示例更清楚地说明此问题。即使修改后,我也无法用代码描绘你想要描述的内容。 “将参数保存到数据库”是什么意思?将它们插入表中? –
为什么你不这样做?尽可能防止异常,并在可能时处理异常,都是良好的做法。 – overslacked
你期望尝试插入重复的频率如何?表格是否正确索引? – shawnt00