数据库来处理唯一验证好,还是在程序中先查询数据库中是否从存在,插入好呢

数据库来处理唯一验证好呢,还是在程序中先查询数据库中是否从存在,然后插入 。哪一种好呢?为什么?
我觉得在数据库自己判断唯一属性,然后在程序中try catch会增加数据库负担。

双重验证,保险起见,安全。