首页 / 知识
关于sql:从应用程序中插入/更新/删除数据库中的多个记录的最佳方法是什么?
2023-04-14 05:55:00

What's the best way to insert/update/delete multiple records in a database from an application?给定一小部分实体(例如10个或更少),可以在应用程序中进行插入,删除或更新,执行必要的数据库操作的最佳方法是什么? 是否应该发出多个查询,每个受影响的实体一个? 还是应该使用数据库引擎可以解析的某种XML构造,以便只需要发出一个命令? 我之所以这么问,是因为我目前的商店中常见的一种模式是格式化包含所有更改的XML文档,然后将该字符串发送到数据库以由数据库引擎的XML功能处理。 但是,鉴于要执行的任务的简单性质,以这种方式使用XML似乎很麻烦。 这取决于您需要执行的操作数量以及运行所需的速度。如果只有少数几个,那么使用您执行单项操作所采用的任何机制一次执行一次即可。 如果您需要执行成千上万次操作,并且需要快速运行,则应重新使用连接和命令,并在每次迭代期间将参数的参数更改为查询的参数。这将最大限度地减少资源使用。您不想为每个操作重新创建连接和命令。 您没有提到正在使用的数据库,但是在SQL Server 2008中,可以使用表变量将这样的复杂数据传递给存储过程。在那里解析并执行您的操作。有关更多信息,请参见Scott Allen关于ode to code的文章。 答案取决于您正在谈论的数据量。如果您在内存中只有很少的一组记录需要同步回磁盘,则可能需要多个查询。如果数据量更大,则需要查看其他选项。 最近,我必须实现一种机制,其中外部数据源给了我约17,000行dta,这是我与本地表同步所需的。我选择的解决方案是将外部数据加载到临时表中,然后调用一个存储的proc,该proc完全在数据库中进行了同步。 从"业务实体"设计的角度来看,如果您要对一组实体中的每个实体执行不同的操作,则应让每个实体处理自己的持久性。 如果存在常见的批处理活动(例如,"删除所有早于x日期的内容"),我将在执行批处理更新或删除的集合类上编写静态方法。我通常让实体原子地处理自己的插入。 大多数数据库支持BULK UPDATE或BULK DELETE操作。 |
最新内容
相关内容
linux默认命令删除?
linux默认命令删除?,系统,软件,名称,档案,命令,文件,目录,不了,电脑,文件夹,关于linux的删除命令1、命令格式:rm [选项] 文件… 命令功能:删除一linux删除空行命令?
linux删除空行命令?,名称,不了,命令,文件夹,文件,时间,工作,简介,情况,资料,linux如何清除csv文件空行1、linux如何清除csv文件空行?答案如下:首linux删除软件命令?
linux删除软件命令?,软件,系统,命令,不了,名称,数据,文件夹,文件,工具,百度,linux软件卸载命令1、linux卸载软件命令:apt-get,aptitude。Linux软linux删除集群命令?
linux删除集群命令?,软件,管理,工具,平台,工作,系统,技术,数据,公司,产品,在linux里怎么删除grid集群软件1、linux怎么卸载软件呢,下面就让我们linux输入命令删除键?
linux输入命令删除键?,名称,系统,档案,命令,文件,目录,不了,数据,文件夹,终端,linux删除命令是什么Linux的文件和目录的删除命令有:rm、rmdir、linux删除群组的命令?
linux删除群组的命令?,系统,管理,工作,名称,命令,地址,邮箱,基础,密码,用户组,linux基础命令linux系统常用操作命令如下:ls:全拼list,功能是列出删除密码命令linux?
删除密码命令linux?,密码,系统,管理,电脑,软件,百度,信息,名称,名字,命令,linux登录密码忘了linux密码忘了怎么办第一步需要重新启动的linux系linux恢复删除命令?
linux恢复删除命令?,工具,系统,信息,文件,命令,数据,软件,名称,不了,目录,linux的文件和目录的删除命令有哪些?linux删除文件夹的方法有两种:rmlinux多个命令输入?
linux多个命令输入?,系统,工具,工作,命令,电脑,地址,信息,软件,服务,连续,Linux多台主机批量执行命令执行命令(记得先对doCommand.s h增加执行linux的删除文件命令?
linux的删除文件命令?,名称,不了,系统,文件夹,命令,文件,环境,档案,目录,指令,关于linux的删除命令1、命令格式:rm [选项] 文件… 命令功能:删除linux删除容器命令?
linux删除容器命令?,系统,名称,不了,档案,命令,文件夹,文件,环境,目录,指令,linux删除文件以及文件夹的命令是什么1、Linux删除文件的命令是rmlinux中vi命令删除?
linux中vi命令删除?,系统,数字,命令,环境,标的,数据,不了,名称,连续,位置,Linux系统中,如何用vi命令删除含有某字符的行1、首先点击终端启动,然