求助:SQL 数据快速判断
时间:2011-12-06
来源:互联网
select * from Table where value = A;
然后判断得到的数据的行数,如果=0,那么我认为没有数据,执行INSERT INTO 语句,添加数据。
但是现在发现这么做效率很低,一共100行数据,要3分钟才能完成。
而别人写的只需要3秒钟就可以完成。。。费解。
现在想知道是否有什么SQL语句可以直接判断某条数据是否存在,要比我遍历SELECT 快很多。
或者我是否需要根据A的内容用LIKE语句先获取一个表,然后在这个表内做遍历查询?
作者: wdlwlf 发布时间: 2011-12-06
SQL code
if not exists(select * from Table where value = A) insert into .....
作者: sdfkfkd 发布时间: 2011-12-06
作者: bdmh 发布时间: 2011-12-06
然后再拼接sql语句,看是否能查到,查到就break循环。
作者: Tsapi 发布时间: 2011-12-06
作者: linkiforward 发布时间: 2011-12-06
还有个很丢脸的问题,是否这句可以像下面这么写;
string select = " if not exists (select * from "+Table" where value = "+A+") insert into "+Table + " ( value ) values ( "+A_")";
如果执行结果返回行数是0,说明没有写入?
作者: wdlwlf 发布时间: 2011-12-06
求教1#方法,是否会比我直接用SELECT快很多? 现在主要是在效率上差太多了
还有个很丢脸的问题,是否这句可以像下面这么写;
string select = " if not exists (select * from "+Table" where value = "+A+") insert into "+Table + " ( value ) values ( "+A_")";
……
是的,ExecuteNonQuery返回的是受影响的行数,对于insert就是插入记录的行数
还有,你可以将10条或者20条语句一起传给SQL执行
例如
string sql="insert into table1... ; insert into table2... ; insert into table3 .. ;";
对于数据较多的情况效果比较明显
作者: sdfkfkd 发布时间: 2011-12-06
if(无)
{
sb.Append("insert.....");
}
else
{
sb.Append("....");
}
string sql=sb;
作者: zyloveyrf 发布时间: 2011-12-06
作者: wdlwlf 发布时间: 2011-12-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28