首页 > 数据库 > Sybase >

sybase数据库分页

2017-01-07

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

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

相关文章
最新文章
热点推荐