SQL插入数据需要更多时间

时间:2014-05-21 13:58:27

标签: asp.net sql .net

在我们的ASP应用程序中,我们将一些数据从客户插入到我们的数据库中,该数据库位于Web服务器中。从客户一次只插入一行。下面是表的结构,所有列都已填充。从应用程序插入数据时,由于表具有大量列,因此速度变慢。仅Report列将包含大约20000到30000个字符的文本。所以我认为它可能会导致数据缓慢插入到表中,这可能会导致我的Web服务器性能下降。那么将数据插入到下面的表中的最佳方法是什么。现在我们只使用普通的SQL插入命令并插入行。有没有更好的方法可以使插入语句更快更有效地处理大量数据?

CREATE TABLE [Customer](    
    [id] [int] IDENTITY(2310,1) NOT NULL,
    [slno] [nvarchar](50) NULL,
    [onDate] [nvarchar](50) NULL,
    [onTime] [nvarchar](50) NULL,
    [ip] [nvarchar](255) NULL,
    [custName] [nvarchar](max) NULL,
    [custAddr] [nvarchar](max) NULL,
    [custCity] [nvarchar](max) NULL,
    [custPIN] [nvarchar](50) NULL,
    [custEmail] [nvarchar](max) NULL,
    [custTele] [nvarchar](255) NULL,
    [contactPer] [nvarchar](max) NULL,
    [batch] [nvarchar](50) NULL,
    [Report] [nvarchar](max) NULL,
    [PC] [nvarchar](255) NULL,
    [oldkey] [nvarchar](255) NULL,
    [Office] [bit] NULL,
    [frameWorkVersion] [nvarchar](255) NULL,
    [keys] [nvarchar](255) NULL,
    [OSversion] [nvarchar](255) NULL,
    [Res] [nvarchar](255) NULL,
    [Version2] [nvarchar](255) NULL,
    [Version1] [nvarchar](255) NULL,
    [EXEVersion] [nvarchar](255) NULL,
    [processorSpeed] [nvarchar](255) NULL,
    [RAM] [nvarchar](255) NULL,
    [SYSTEM] [nvarchar](255) NULL,
    [SYSTEMNAME] [nvarchar](255) NULL,
    [HOSTNAME] [nvarchar](255) NULL,
    [PCUSER] [nvarchar](255) NULL,
    [FeatureCount] [nvarchar](max) NULL,
    [IsRegistered] [nvarchar](255) NULL,
    [Info1] [nvarchar](255) NULL,
    [OtherInfo] [varchar](8000) NULL,
    [WorkGroup] [varchar](255) NULL,
    [CustMainPhone] [varchar](255) NULL,
 CONSTRAINT [PK_downloadexe_errlog] PRIMARY KEY CLUSTERED   
(   
    [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]   
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]   

4 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您没有显示任何其他索引吗?

对于大量数据,它可能只是一个量级的东西。 您可以在一个语句中插入多行

values (), ()

一次太多行然后它可以减慢
将行*列保持在1000下 所以一次尝试20行

答案 2 :(得分:0)

如果表上有索引,请遵循以下模式:

  • 删除索引
  • 插入数据
  • 重新创建索引

答案 3 :(得分:-1)

尝试制作一些

commit;
插入行时的

,例如每20行或50行。

相关问题