执行原理肯定是一样的啊,我的意思是在对同一个表进行按条件查询的时候,同一个结果,可能用好几种查询方式都能得到同一个结果,这就有了一个查询效率的问题,要尽量避免子查询,进行select优化,选择查询效率最高的。
存储过程是写在数据库端,在用ADO.NET开发的时候,你的把sql写在程序中吧,这样sql语句就得在数据库和程序之间来回调用,且每执行一次就得编译一次。但是存储过程在数据库端,在创建时已经进行了编译,且每次执行不需要重新编译,只需调用存过程名称
create procedure [dbo].[AddUser]
(
@username nvarchar(50),
@password nvarchar(50)
)
as
if exists
(
select id from [tb_User] where username=@username
)
return 1--添加信息失败
insert into [tb_User]
(
username,password,registertime
)
values
(
@username,@password,GETDATE()
)
return 0--添加信息成功 |