我想知道,TClientDataSet
在调用ApplyUpdates
时如何执行SQL语句。
如果更改了多个记录,是否为每条记录准备并发送了更新SQL查询作为单个SQL语句,或者是否可能创建了一个SQL“脚本”而不是立即发送到数据库?
我的意思是,当我ApplyUpdates
的记录与ApplyUpdates
相比,所有更改一次性变化时,是否存在性能差异?
答案 0 :(得分:7)
没有从客户端发送SQL,只发送增量数据包。服务器上的提供程序接收增量数据包,并根据它生成插入/更新/删除SQL语句。在单个请求中发送多个更新通常会带来更好的性能。