山那边是海 发表于 2015-1-16 22:39:45

MSSQL网页编程之一个对照有用的年夜数据量分页存储历程

提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。对照|存储历程|分页|数据
createprocsp_PublicTurnPageWebSite(
@TBNamenvarchar(100)=,--表名,如pinyin
@PageSizeint=10,--每页的纪录数,默许为10
@CurPageint=1,--暗示以后页1
@KeyFieldnvarchar(100)=ID,--关头字段名,默许为ID,该字段请求是表中的索引或无反复和不为空的字段
@KeyAscDescnvarchar(4)=ASC,--关头字的升、降序,默许为升序ASC,降序为DESC
@Fieldsnvarchar(500)=*,--所选择的列名,默许为全选
@Conditionnvarchar(200)=,--where前提,默许为空
@Ordernvarchar(200)=--排序前提,默许为空
)withencryptionas
if@TBName=
begin
raiserror(请指定表名!,11,1)
return
end
if@PageSize<=0or@CurPage<0
begin
raiserror(以后页数和每页的纪录数都必需年夜于零!,11,1)
return
end
if@KeyAscDesc=DESC
set@KeyAscDesc=<
else
set@KeyAscDesc=>
if@Condition
set@Condition=where+@Condition
declare@SQLnvarchar(2000)

set@SQL=
if@CurPage=1
set@SQL=@SQL+SELECTTop+cast(@PageSizeasnvarchar(20))++@Fields+FROM+@TBName+@Condition++@Order
else
begin
declare@iTopNumint
set@iTopNum=@PageSize*(@CurPage-1)
set@SQL=@SQL+declare@sLastValuenvarchar(100)+char(13)
set@SQL=@SQL+SELECTTop+cast(@iTopNumasnvarchar(20))+@sLastValue=+@KeyField+FROM+@TBName+@Condition++@Order+char(13)

declare@Condition2nvarchar(200)
if@Condition=
set@Condition2=where+@KeyField+@KeyAscDesc+@sLastValue
else
set@Condition2=and+@KeyField+@KeyAscDesc+@sLastValue
set@SQL=@SQL+SELECTTop+cast(@PageSizeasnvarchar(20))++@Fields+FROM+@TBName+@Condition+@Condition2+@Order
end
EXECUTEsp_executesql@SQL
InnoDB数据表的索引,与InnoDB数据表相比,在InnoDB数据表上,索引对InnoDB数据表的重要性要大得多。在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。

第二个灵魂 发表于 2015-1-19 20:55:03

两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书

仓酷云 发表于 2015-1-24 17:41:54

是要和操作系统进行Socket通讯的场景。否则建议慎重!

山那边是海 发表于 2015-2-2 11:28:37

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

冷月葬花魂 发表于 2015-2-7 19:08:33

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

精灵巫婆 发表于 2015-2-23 01:11:05

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

深爱那片海 发表于 2015-3-7 04:42:54

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

分手快乐 发表于 2015-3-14 11:18:30

我们学到了什么?思考问题的时候从表的角度来思考问

飘飘悠悠 发表于 2015-3-21 04:54:56

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
页: [1]
查看完整版本: MSSQL网页编程之一个对照有用的年夜数据量分页存储历程