两个事务插入同一张表造成死锁

两个事务插入同一张表造成死锁,插入的数据不一样,有什么解决方案吗

数据表上加入索引,可以吗?

代码上加入同步锁(这个影响效率,但是一定能解决问题)