仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 817|回复: 8
打印 上一主题 下一主题

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

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
提供多语言支持,常见的编码如中文的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功能。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-7 19:08:33 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-23 01:11:05 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
深爱那片海 该用户已被删除
7#
发表于 2015-3-7 04:42:54 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
分手快乐 该用户已被删除
8#
发表于 2015-3-14 11:18:30 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-21 04:54:56 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 06:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表