快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

齐博国际下载app:一切都因为分页再谈分页



好久没有被分页利诱了,由于不停以来操作齐博国际下载app的表中数据量都不大年夜,以是很偷懒地应用了记载集的PageSize与AbsolutePage。这个的弊端便是一次性地把用到用不到的记录全读出来了,记录数一多就很慢。

办理的思路是,找到一种措施,只读出必要的记录~呵呵~

对照常见的是使用了IN 操作符,例如

SELECT TOPPageSize * Fr齐博国际下载appom A WHERE id NOT IN (SELECT TOP PageSize*PageNo id FROM A WHERE )

留齐博国际下载app意一下加红的那部分,select 语句顶用到的是他们的值

同样的,数据不是很多的话还行,多了同样是不可的,由于IN的效率不高嘛

思来想去,找到一个措施,使用了i齐博国际下载appd(俺不停是把它设成自增的)的一个特点齐博国际下载app,

id是从小到大年夜排的,着实只要找到当前页最小id应该大年夜于若干,然后再用上TOP 操作符。

看看

SELECT TOP PageSize* FROM A WHERE id > MinID

第一页的 MinID 当然是 0,然后就可以得出第一页最大年夜的id值,它恰是第二页中id必须大年夜于的值,类推~

当然,有一个问题,假如你想直接跳到指定页~~那就不好办了:(

跳到着末一页到照样很简单的,只要应用ORDER BY id DESC

这个思惟照样有个漏洞呀,假如不按id排序的话,就会很麻烦,可以想到的办理措施是,将上面的做为子查询,外貌再套一层查询~

假如看不明白的话,歉仄,那只阐明俺的表达能力低虐~而已~

呵呵~以是不用宁神上啦!

、)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

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