我有一個項目,我需要在sql 2005中創建兩個表並填充它們的數據(它們是天氣的查找表,名稱是男性的名字或女性的名字)我有7354個男性名字可以插入,7776個女性名字可以插入。插入很多行到SQL 2005
目前我做
CREATE TABLE #NamesMale (
[FirstName] [varchar](50) NOT NULL,
[MaxRank] [smallint] NULL)
CREATE TABLE #NamesFemale (
[FirstName] [varchar](50) NOT NULL,
[MaxRank] [smallint] NULL)
insert into #NamesMale select 'AADEN',343
insert into #NamesMale select 'AAPELI',1000
insert into #NamesMale select 'AAPO',1000
... (snip ~7300 lines)
insert into #NamesMale select 'ZVONIMIR',1000
insert into #NamesMale select 'ZVONKO',1000
insert into #NamesMale select 'ZYGMUNT',1000
insert into #NamesFemale select 'AALIYAH',64
insert into #NamesFemale select 'AAREN',1000
insert into #NamesFemale select 'AARON',873
... (snip ~7700 lines)
insert into #NamesFemale select 'ZUZANA',1000
insert into #NamesFemale select 'ZUZANNA',1000
insert into #NamesFemale select 'ZVONIMIRA',1000
目前,它需要一分鐘14秒加載在我的機器上的名字,並在那裏,這將在現場使用的服務器往往會遠遠超過我的開發不那麼強大機。
使用單獨的批量複製文件不是一個選項,解決方案必須完全transact-sql並在一個文件中。最好我想要一個不會破壞與sql2000的兼容性的解決方案,但這不是必需的。
任何幫助將不勝感激。
沒有GO語句,整個批次被作爲一個事務執行;隨着GO語句被執行爲一系列較小的事務。 推測大型事務(鎖等)的開銷通過在較小的事務中執行而減少。 – 2010-02-01 13:05:05