Sybase12.5.2分页问题
来源:互联网 发布:md服装软件 编辑:程序博客网 时间:2024/04/28 15:12
1. 使用临时表方法:
stmt = conn.getConn().createStatement();
String strsql = "select *, ids=identity(9) into #tb from tablename"; //表复制速度很快,不影响效率
stmt.execute(strsql);
strsql = "select * from #tb where ids >0 and ids <=12"; //根据传入参数进行计算
rs = stmt.executeQuery(strsql);
需要特别注意的是:临时表需要手工删除,如遇异常也需要删除,否则在本次会话链接销毁之前,该临时表一直存在会影响后面的使用。
使用完成后:
sql.delete(0, sql.length());
sql.append("drop table #listwebtmp ");
stmttmp.execute(sql.toString());
如遇异常:
sql.delete(0, sql.length());
sql.append("drop table #listwebtmp ");
try
{
stmttmp.execute(sql.toString());
}
catch (SQLException ex1)
{
logger.fatal(sql, ex1);
}
以上转自:http://topic.csdn.net/t/20060628/10/4847504.html,目前还不知道这样做有啥问题,基本可行。
2. 在小数据量的情况下如果使用select top,执行效率有问题,并且当数据量达到一定程度的时候会直接报错
java.lang.OutOfMemoryError.但小数据量的情况下可以偷懒使用如下方法
sql.append("select top 20 * from asp_serv_base_info0 where isdn not in(");
for(int i=0; i<300000; i++)
{
sql.append(DBAUtil.getSqlString("11111111112222222222"));
if(i!=299999)sql.append(",");
}
sql.append(")");
stmt = conn.getConn().createStatement();
System.out.println(sql.toString().length());
System.out.println(System.currentTimeMillis());
rs = stmt.executeQuery(sql.toString());
System.out.println(System.currentTimeMillis());
3. 使用存储过程转自:http://www.chmhome.com/technology/database/sybase/20070527/12616.html
本人没有使用过,放在这里以备参考:
create procedure splitpage @qry varchar(16384),@ipage int, @num int as /*@qry SQL语句, @ipage 页数, @num 每页记录条数 */
begin
declare @maxpages int
declare @rcount int
declare @execsql varchar(16384)
if @ipage>=100
select @maxpages=ceiling(count(*)/@num) from test
else
select @maxpages=100000
if @ipage<=@maxpages/2
begin
select @rcount=@ipage*@num
set rowcount @rcount
set @execsql = stuff(@qry,charindex('select',@qry),6,'select sybid=identity(12),')
set @execsql = stuff(@execsql, charindex('from',@execsql),4,'into #temptable1 from')
- Sybase12.5.2分页问题
- Sybase12.5日志满问题的解决
- Sybase12.5.2与12.5.1的不同
- SYBASE12.5.2 FOR REDHAT AS4.0 安装步骤
- SYBASE12.5安装指导
- Solaris10 下安装sybase12
- 分页问题
- 分页问题
- sybase12.5 isql连接15.7
- linux 下sybase12.5安装(转)
- hp_ux11.11 下安装 sybase12.5.3
- sybase12.5升级迁移到15.5步骤
- 处理分页问题
- JSP分页问题
- datagrid 分页问题
- Gridview的分页问题
- Oracle分页问题
- DatePager分页问题
- 写代码始终是我最喜欢做的事情...
- 关于c++ 函数指针的问题
- 这年头,找人真不容易的。
- dataTable、dataView经验
- 数据结构辅导---栈和队列
- Sybase12.5.2分页问题
- weblogic积累
- 淡淡的想你
- 什么是商业智能技术
- Asp.net 身份验证、授权
- mssql版本查看
- visio CreateDrawing
- MWC手机热点解析
- ext树