日期:2014-05-17  浏览次数:20767 次

大量数据判断重复后写入效率问题。
数据字段 ID为主键 int 类型, 其余字段都是次要。

写入数据前如何判断ID是否存在 不存在然后再写入,如果存在直接忽略。

最好给我个存储过程例子。

目前是程序中执行SQL语句查询, 效率太低了, 服务器CPU总是100%
------最佳解决方案--------------------
create proc P_insert
@ID int,@name varchar(20)
as 
begin
insert into A(id,name)
select @ID,@name
if @@ROWCOUNT=1 
select 1 as Flag
else
select 0 as Flag
end
--程序中 判断下返回值 即可知道数据是否正常插入。
------其他解决方案--------------------
ID,不是自动编号, 是用户自行录入。
------其他解决方案--------------------
id 主键设置为自增不就好了吗? 
------其他解决方案--------------------
不用判断,直接写入表 程序报错误 就提示此ID已存在 就好了。
------其他解决方案--------------------
程序的特殊性,ID必须用户自行录入。。


------其他解决方案--------------------
引用:
不用判断,直接写入表 程序报错误 就提示此ID已存在 就好了。


程序就没效率了。
------其他解决方案--------------------
引用:
引用:不用判断,直接写入表 程序报错误 就提示此ID已存在 就好了。

程序就没效率了。

不判断 应该最有效率吧? 真心不懂了
------其他解决方案--------------------
可否提供个简单的存储过程示例。