海妖 发表于 2015-1-16 14:18:46

有用的年夜数据量分页存储历程

Mysql的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档编写自己的存储引擎。数据分页的主要性这里就不必重提了,那末怎样完成年夜数据量的分页呢?以下供应一个分页的存储历程,仅供参考
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

Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失

小魔女 发表于 2015-1-18 12:49:59

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

活着的死人 发表于 2015-1-25 22:16:36

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

老尸 发表于 2015-2-4 09:34:17

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

冷月葬花魂 发表于 2015-2-9 21:30:23

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

若相依 发表于 2015-3-9 16:21:56

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

只想知道 发表于 2015-3-17 01:07:55

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

爱飞 发表于 2015-3-23 11:50:10

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
页: [1]
查看完整版本: 有用的年夜数据量分页存储历程