save与insert区别
最后更新:2023-10-25 14:20:31
|
状态:未完成
save将根据主键是否有值来决定执行update还是insert
对于DataRow参数来说,save调用的insert与直接调用insert没有太大区别, 只是save多了一次判断
区别主要在于DataSet参数:
save会循环操作数据库每次都会判断insert|update
save 集合中的数据可以是不同的表不同的结构
insert 集合中的数据必须保存到相同的表,结构必须相同
insert 将一次性插入多条数据整个过程有可能只操作一次数据库 并 不考虑update情况 对于大批量数据来说 性能是主要优势
但是如果DataRow/DataSet设置了override属性时,在save之前会检测一下数据库中是否存在相同数据,如果存在则忽略或更新,不存在时才执行插入
但通过情况下不要设置这个属性,因为常用的数据库都提供了类似的功能,只是有些数据库对索引或主键有要求,参考【已存在则更新或跳过,中不存在则插入】
只有满足不了数据库要求,还要实现类似功能时才设置这个属性。