使用bulk insert如果原表记录数超级庞大就先删除索引再插入,插入完成后在建回原来的索引这种情况是插入操作非常频繁才这样做
解决方案 »
- 数据库表设计优化
- 如何开n 次方?
- 调用存储过程
- 怎么连接sql2005,在线等
- 问一个ORACLE上的SQL语句
- 哪位大虾能不能告诉我一下怎么样将一个数据库自动备份的.bak文件还原?
- 请问一个sql server2000问题
- 这两个个sql语句如何写
- 在ODBC的驱动程序中 Driver do Microsoft accecc(*.mdb)和microsoft access driver(*.mdb)有什么区别?
- 请各位帮助,在SQL SERVER中已建立了一个数据表,表中已有记录,因为某种原因要增加一列(即要在表结构中要增加一列名),一是这样可不可以增加,二是增加后对数据库系统会带来什么影响?,
- 关于“自动编号”的问题,急!在线
- 删除字段出错,急,请帮忙
select top 40000 col, ... from tbName1
1.以竖线形式分隔各字段
EXEC master..xp_cmdshell 'bcp "select top 40000 col1,col2,col..,coln from database.dbo.table" queryout e:\test.txt -c -U"sa" -P"mima" -t"|"'
2.根据文档导入数据
EXEC master..xp_cmdshell 'bcp databse.dbo.table in e:\test.txt -c -q -U "sa" -P "mima" -t"|"'
3.在第二步骤之前先检查索引,如包含索引对表的影响会较大的情况下,drop index indexname ON dbo.table,导入之后再create index indexname ON dbo.table(col)
BULK INSERT dbo.table
FROM 'e:\test.tbl'
WITH
(
FIELDTERMINATOR =' |',
ROWTERMINATOR ='\n'
)
在索引对插入影响较小的情况下四万条记录marco08(天道酬勤)的最快。