开源中文网

您的位置: 首页 > 数据库应用 > Sybase > 正文

sybase数据库分页

来源: 网络整理  作者: 佚名

Sybase使用rank() over(order by id)ret的方式分页,这种方式在数据量达到40W条的时候很耗时,大概5S的时间,当达到千万条的时候,查询一次大概是1分40秒,这就远远不符合项目要求了

对于这种方式,瓶颈可能是出在排序部分,当排序的唯一字段是varchar类型的时候更加明显

现在有种新的方式,就是利用rowid。

如:select a.* from table_name a where rowid(a) >=1 and rowid(a)<11

经测试,在同一张表中,1500W的数据量,每次查询时间都在200ms以内

但是这个函数只能用在真实的数据表,无法在临时表中用到;

这个rowid,是在数据插入的时候,数据库给每行数据分配的物理唯一标识,如果要页面中要用到动态排序,这个是不支持的。

Tags:数据库
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明