set nocount on;use
master;
go--
--判斷資料庫testdb是否存在,即建立資料庫
ifdb_id('
testdb
') is
null
create
database
testdb
gouse
testdb
go--
-判斷nums 表是否存在,存在即將其刪除
ifobject_id('
dbo.nums
') is
notnull
drop
table
dbo.nums;
go--
-重新建立表
create
table
dbo.nums(
id int
notnull
primary
key,
name
nvarchar(50) null
);declare
@max
asint,@rc
asint
;set
@max
=250000
;set
@rc=1;
insert
into dbo.nums(id,name) values(1,'張三'
);/*
模擬其執行過程
select id+1,'張三' from dbo.nums
insert into dbo.nums(id,name) select id+1,'張三' from dbo.nums
select id+2,'張三' from dbo.nums
insert into dbo.nums(id,name) select id+2,'張三' from dbo.nums
select id+4,'張三' from dbo.nums
insert into dbo.nums(id,name) select id+4,'張三' from dbo.nums
select * from dbo.nums
*/while
@rc*
2<=
@max
begin
insert
into dbo.nums(id,name) select id+
@rc,'張三'
from
dbo.nums
set@rc
=@rc*2
;end
print(@rc
)insert
into
dbo.nums(id,name)
select id+
@rc,'張三'
from dbo.nums where id+
@rc<=
@max
goselect
top100
*from nums where id notin(
select
top900 id from nums order
by id asc
) order
by id asc
select
*from (select
top100
*from
(select
top1000 id from nums order
by id asc
) aorder
by a.id desc
) b
order
by b.id asc
MySQL資料庫插入100w條資料要花多久時間?
1 多執行緒插入 單錶 2 多執行緒插入 多表 3 預處理sql 4 多值插入sql 5 事務 n條提交一次 問 為何對同乙個表的插入多執行緒會比單執行緒快?同一時間對乙個表的寫操作不應該是獨佔的嗎?答 在資料裡做插入操作的時候,整體時間的分配是這樣的 1 多鏈結耗時 30 2 多傳送query到伺...
MySQL資料庫插入 100w 條資料用了多久?
閱讀本文需要5分鐘 目錄1 多執行緒插入 單錶 2 多執行緒插入 多表 3 預處理sql 4 多值插入sql 5 事務 n條提交一次 多執行緒插入 單錶 問 為何對同乙個表的插入多執行緒會比單執行緒快?同一時間對乙個表的寫操作不應該是獨佔的嗎?答 在資料裡做插入操作的時候,整體時間的分配是這樣的 1...
SQL 快速向表中插入100萬條資料
setnocounton 02use master 03go 04 判斷資料庫testdb是否存在,即建立資料庫 05if db id testdb isnull 06createdatabasetestdb 07go 08use testdb 09go 10 判斷nums 表是否存在,存在即將其刪...