SSH批量插入数据有什么好方法吗
表中如果存在该数据就更新,不存在就插入数据库使用的是sqlserver,现在插入或者更新1w条数据要2分钟,怎样才能优化速度呢?
跪求大神帮忙啊
存储过程
Create proc DEVICE_TEST
@param1 varchar(80),
@param2 varchar(80),
@param3 datetime
as
IF EXISTS(SELECT * FROM t_Device WHERE FDtuCode = @param1 and FZbCode=@param2)
BEGIN
UPDATE t_Device SET FTime=@param3,FStatus =1 WHERE FDtuCode = @param1 and FZbCode=@param2
END
ELSE
BEGIN
insert INTO t_Device (FDtuCode,FZbCode,FTime,FStatus) Values(@param1,@param2,@param3,1)
END
go
表
CREATE TABLE
t_Device
(
FID INT NOT NULL IDENTITY,
FDtuCode NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
FZbCode NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
FElevatorID INT,
FElevatorNo NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
FElevatorName NVARCHAR(80) COLLATE Chinese_PRC_CI_AS,
FUseUnit INT,
FTime DATETIME,
FStatus INT,
PRIMARY KEY (FID)
);
SSH中的插入代码
@Override
@Transactional
public PageBean getUserList(PageBean page, String filter) {
String hql = "from User u";
hql += " where " + filter;
for(int i=0;i<10000;i++){
this.executeSQL("exec DEVICE_TEST '"+i+"','02','2008-10-20 10:09:00'");
}
Query query = this.getSession().createQuery(hql);
return queryPageHql(query, page);
}
补充:Java , Java EE