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:= to 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:= to 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:= to 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 操作SQL 插入一万条数据 三种方式速度测试的更多相关文章

  1. Oracle 快速插入1000万条数据的实现方式

    1.使用dual配合connect by level create table BigTable as select rownum as id from dual connect by level & ...

  2. 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来

    我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...

  3. 使用hibernate在5秒内插入11万条数据,你觉得可能吗?

    需求是这样的,需要查询某几个表的数据,然后插入到另外一个表. 一看到需求,很多人都会用hibernate去把这些数据都查询出来,然后放到list中, 然后再用for循环之类的进行遍历,一条一条的取出数 ...

  4. 插入1000万条数据到mysql数据库表

    转自:https://www.cnblogs.com/fanwencong/p/5765136.html 我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入100 ...

  5. 教你如何6秒钟往MySQL插入100万条数据!然后删库跑路!

    教你如何6秒钟往MySQL插入100万条数据!然后删库跑路! 由于我用的mysql 8版本,所以增加了Timezone,然后就可以了 前提是要自己建好库和表. 数据库test, 表user, 三个字段 ...

  6. python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)

    昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...

  7. 监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile

    大家在学习entityframework的时候,都知道那linq写的叫一个爽,再也不用区分不同RDMS的sql版本差异了,但是呢,高效率带来了差灵活性,我们 无法控制sql的生成策略,所以必须不要让自 ...

  8. Struts2-从值栈获取list集合数据(三种方式)

    创建User封装数据类 public class User { private String username; private String password; public String getP ...

  9. PHP实现插入100万条数据优化

    第一种方法一条一条执行插入,结果会很慢 <?php header("Content-Type:text/html;charset=utf-8"); date_default_ ...

随机推荐

  1. BOM常用属性与方法

    BOMBrowser Object Modelwindow浏览器窗口window方法locationlocation常用属性screen显示器屏幕screen常用属性navigator浏览器软件nav ...

  2. git基础问题

    1).git add 与gitstage的区别 git stage只是git add的同义词,所以在使用上没有区别 i)Git仓库的三个组成部分:工作区(Working Directory).暂存区( ...

  3. java web 向数据库插入中文数据乱码问题

    一.先检查下是 页面返回数据时已经乱码了,还是在插入数据库的时候乱的码. 二.页面返回乱码: 1.  Web.XML  文件配置 <!-- 配置编码过滤器 --> <filter&g ...

  4. K Edit Distance

    Description Given a set of strings which just has lower case letters and a target string, output all ...

  5. neo4j安装部署

    链接: https://blog.csdn.net/u013946356/article/details/81736232

  6. BurpSuite安装、使用

    本周学习内容: 1.学习<网络是怎么连接的>和JavaScript: 2.学习MySQL和Linux: 3.熟悉burpsuite: 4.使用wireshark观察数据包: 5.XAMPP ...

  7. 用provide/inject来实现简单的vuex状态管理功能

    在开发的时候,经常会涉及到组件之间的通信.简单的有父子组件的通信,兄弟组件的通信通常可以借助Bus来进行.当然也可以用vuex来进行状态管理,但是,有时候用vuex未免有把简单的问题复杂化. 如果要进 ...

  8. 项目发布到tomcat后,通过项目名称访问报404

    查看tomcat发布地址发现和项目名称不一致 如果直接拷贝项目,可能也需要修改此选项 解决方案: 经过排查发现了原因: 首先说明一下项目 Maven+SSM 需要使用到 maven tomcat 7 ...

  9. CF1203F2 Complete the Projects (hard version)(结论+背包+贪心)

    题目 做法 对于加分的直接贪心 而掉分的用排序后的背包动规 假设有两个物品\((a_1,b_1)(a_2,b_2)\) 选第一个物品后无法选择第二个物品,假设开始值为\(r\):\(r>a_1, ...

  10. Dockers安装nginx

    方法一.通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西. runoob@runoob:~$ mkdir -p ~/nginx/www ~/n ...