快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记h188怡情_机器人论坛



表中主键必须为标识列,[ID] int IDENTITY (1,1)

1.分页规整洁:(使用Not In和SELECT TO和记h188怡情P分页)

语句形式:

SELECTTOP10*

FROMTestTable

WHERE(IDNOTIN

(SELECTTOP20id

FROMTestTable

ORDERBYid))

ORDERBYID

SELECTTOP页大年夜小*

FROMTestTable

WHERE(IDNOTIN

(SELECTTOP页大年夜小*页数id

FROM表

ORDERBYid))

ORDERBYID

2.分页规划二:(使用ID大年夜于若干和SELECT TOP分页)

语句形式:

SELECTTOP10*

FROMTestTable

WHERE(ID>

(SELECTMAX(id)

FROM(SELECTTOP20id

FROMTestTable

ORDERBYid)AST))

ORDERBYID

SELECTTOP页大年夜小*

FROMTestTable

WHERE(ID>

(和记h188怡情SELECTMAX(id)

FROM(SELECTTOP页大年夜小*页数id

FROM表

ORDERBYid)AST))

ORDERBYID

3.分页规划三:(使用SQL的游标存储历程分页)

create procedureSqlPager

@sqlstrnvarchar(4000),-和记h188怡情-查询字符和记h188怡情串

@currentpageint,--第N页

@pages和记h188怡情izeint--每页行数

as

setnocounton

declare@P1int,--P1是游标的id

@rowcountint

execsp_cursoropen@P1output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcountoutput

selectceiling(1.0*@rowcount/@pagesize)as总页数--,@rowcountas总行数,@currentpageas当前页

set@currentpage=(@currentpage-1)*@pagesize+1

execsp_cursorfetch@P1,16,@currentpage,@pagesize

execsp_cursorclose@P1

setnocountoff

其它的规划:假如没有主键,可以用临时表,也可以用规划三做,然则效率会低。

建议优化的时刻,加上主键和索引,查询效率会前进。

经由过程SQL 查询阐发器,显示对照:我的结论是:

分页规划二:(使用ID大年夜于若干和SELECT TOP分页)效率最高,必要拼接SQL语句

分页规整洁:(使用Not In和SELECT TOP分页) 效率次之,必要拼接SQL语句

分页规划三:(使用SQL的游标存储历程分页) 效率最差,然则最为通用

您可能还会对下面的文章感兴趣: