一.建立数据库Liezui_Test ID int 主键 自增 Title varchar() ReadNum int 二.向数据库中插入万条数据 declare @i int set @i=1 while @i<= begin insert into Liezui_Test(Title,ReadNum) values('执行总数统计',@i) set @i=@i+1 end GO declare @i int set @i=1 while @i<= begin insert into Liezui_Test(Title,ReadNum) values('毛巾因经常处于潮湿状态而极易滋生有害细菌',@i) set @i=@i+1 end GO 三.增加SelectByTitle存储过程 Create PROCEDURE [dbo].[SelectByTitle] AS BEGIN Select top * from Liezui_Test where Title Like '%执行%' END 三.开始测试 首先在页面内放一个repeater 用于绑定数据 二个label 用于显示结果 测试场景一 : 不绑定Repeater,只进行数据库源的绑定 代码如下: Stopwatch st = new Stopwatch(); st.Start(); Repeater1.DataSource = Jinlong.Data.DBHelper.ReturnDataSet("Select top * from Liezui_Test where Title Like '%执行%'").Tables[0]; st.Stop(); Label1.Text = st.ElapsedMilliseconds.ToString() + "ms"; Stopwatch st2 = new Stopwatch(); st2.Start(); SqlParameter[] para = { }; Repeater1.DataSource = Jinlong.Data.DBHelper.RunProcedure("SelectByTitle", para, "ds"); st2.Stop(); Label2.Text = st2.ElapsedMilliseconds.ToString() + "ms"; 结果如下: Label1 Label2 ms ms ms ms ms ms ms ms ms ms ms ms 结论:用Sql语句和存储过程的速度差不多. 测试场景二 : 绑定Repeater 代码如下: Stopwatch st = new Stopwatch(); st.Start(); Repeater1.DataSource = Jinlong.Data.DBHelper.ReturnDataSet("Select top * from Liezui_Test where Title Like '%执行%'").Tables[0]; Repeater1.DataBind(); st.Stop(); Label1.Text = st.ElapsedMilliseconds.ToString() + "ms"; Stopwatch st2 = new Stopwatch(); st2.Start(); SqlParameter[] para = { }; Repeater1.DataSource = Jinlong.Data.DBHelper.RunProcedure("SelectByTitle", para, "ds"); Repeater1.DataBind(); st2.Stop(); Label2.Text = st2.ElapsedMilliseconds.ToString() + "ms"; 结果如下: Label1 Label2 ms ms ms ms ms ms ms ms ms ms ms ms 结论:用存储过程的速度居然比直接用Sql语句还要慢.
推荐整理分享Sql语句与存储过程查询数据的性能测试实现代码(sql中的存储过程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sqlserver存储过程语句,sql存储过程什么意思,sql语句与存储过程的关系,sql语句与存储过程的比较,sql存储过程语法大全,sql语句与存储过程的关系,sql语句与存储过程的关系,sql语句与存储过程的比较,内容如对您有帮助,希望把文章链接给更多的朋友!
MSSQL 游标使用 心得 游标为您提供了在逐行的基础上而不是一次处理整个结果集为基础的操作表中数据的方法。1.如何使用游标1)定义游标语句Declare游标名CursorFor2)创建
SQL 时间类型的模糊查询 今天用timeLike'--%'语句来查询该天的所有数据,被提示语句错误。查了一下才发现该模糊查询只能用于String类型的字段。自己也查阅了一些资料。
mssql 指定字段编号sql语句 selectnid,ntitle,nreadtimes,Row_number()over(orderbynreadtimesdesc)asrownumfromarticle