Delphi 操作SQL 插入一万条数据 三种方式速度测试
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls; type TForm1 = class(TForm) Button1: TButton; btn1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; ADOCommand1: TADOCommand; Button2: TButton; procedure Button1Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } procedure ExecSql(SqlSentence:String); public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ExecSql(SqlSentence:String); begin with ADOQuery1 do begin Close; SQL.Clear(); SQL.Add(SqlSentence); ExecSQL; end; end; procedure TForm1.Button1Click(Sender: TObject); var I:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一条一套插入1万条数据 耗时大约86秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=Format(' insert into MyTest (Name) values (%s)',[Name]); ExecSql(SqlStr ); end; Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; procedure TForm1.btn1Click(Sender: TObject); var I,x:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一次插入1万条数据 耗时大约19秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=SqlStr+Format(' insert into MyTest (Name) values (%s) ',[Name]); end; ExecSql(SqlStr ); Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; procedure TForm1.Button2Click(Sender: TObject); var I,x:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一次插入1万条数据 耗时大约4秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=SqlStr+ Format(' insert into MyTest (Name) values (%s) ',[Name]); end; ADOConnection1.Open; ADOConnection1.BeginTrans; ADOCommand1.CommandText:=SqlStr; ADOCommand1.Execute(); ADOConnection1.CommitTrans; Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; end. ---------------------
分类:
Delphi
, Delphi 数据库
标签:
Delphi 速度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2014-05-09 hp400 硒鼓加粉图解