对于增删改频繁的表如何分页

如题,因业务需要,提出此问题,求大侠解答。。。。急需在线等。。。

0

5个回答

分页跟增删改频繁又有多大关系,你需要设置个标志位,以表明每条数据的状态。

1
guwei4037
极简吧 回复qq_28717427: 排序。位置不断变化跟这没关系。
接近 4 年之前 回复
qq_28717427
qq_28717427 对,我就是排好序做了一个标志位,在第一次查的时候讲第二页的起始位置记录下来。如果数据是静态的还好,但是因为不断有数据进来或挪走,所以会导致每个位置的数据不断变化,现在的问题就是这个,请问有什么好一点的办法解决呢
接近 4 年之前 回复

没看懂你到底要什么。我这里有个分页的存储过程,希望对你有用。
--分页查询
select * from
(
select rownum rn, T.* from
(select * from emp where sal>2000 order by sal) T
where rownum<=6
)
where rn>3

--程序包-规范
create or replace package pagePack
as
type pageCursorType is ref cursor;--游标类型
procedure procPage(
tableName varchar2,--查询的表名
showField varchar2,--查询的字段,T.*表示所有
whereText varchar2,--查询的条件,不要where
orderText varchar2,--排序的字段,不要order by
pageIndex integer,--显示的页码
pageSize integer,--每页显示的记录数
pageCursor out pageCursorType,--返回的游标
counter out integer--返回的记录总数
);
end;
--程序包-主体
create or replace package body pagePack
as
procedure procPage(
tableName varchar2,--查询的表名
showField varchar2,--查询的字段,T.*表示所有
whereText varchar2,--查询的条件,不要where
orderText varchar2,--排序的字段,不要order by
pageIndex integer,--显示的页码
pageSize integer,--每页显示的记录数
pageCursor out pageCursorType,--返回的游标
counter out integer--返回的记录总数
)
as
sqlstr varchar2(400);
wText varchar2(100);
oText varchar2(100);
begin
if whereText is not null then
wText:=' where '||whereText;
end if;
if orderText is not null then
oText:=' order by '||orderText;
end if;
sqlstr:='select * from
(
select rownum rn, '||showField||' from
(select * from '||tableName||wText||oText ||' ) T
where rownum<=:1
)
where rn>:2';
dbms_output.put_line(sqlstr);
open pageCursor for sqlstr
using pageSize*pageIndex,pageSize*(pageIndex-1);

  sqlstr:='select count(*) from '||tableName||wText||oText;
  dbms_output.put_line(sqlstr);
  execute immediate sqlstr into counter;

end;
end;

--视图
create view viewEmp
as
select * from
(
select rownum rn,emp.* from emp
)
--测试
declare
pageCursor pagePack.pageCursorType;
users viewEmp%rowtype;
counter integer;
begin
pagePack.procPage('emp','T.*','sal>2000','sal asc',2,3,pageCursor,counter);
loop
fetch pageCursor into users;
exit when pageCursor%notfound;
dbms_output.put_line(users.ename);
end loop;
close pageCursor;
dbms_output.put_line(counter);
end;

1

分页跟增删改频繁又有多大关系

0

没用关系,,,反正都是满了N条,,,进行一次分页处理。。。。

0

框架用一下 order by

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
表的增删改
Deletion of tuples from a given relationExample:delete from instructor where dept_name= ’Finance’ Insertion of new tuples into a given relation Add a new tuple to course insert into course values (’CS
python-Django 增删改和分页
先看效果: 显示和分页的效果 添加的效果: 修改页面效果: 删除效果:js判断提示 这里的分页需要用到bootstrap_pagination,我这里偷懒,用到了 bootstrap_toolkit插件,可以自行下载,安装的时候,win+D ,cmd找到安装python的的文件夹,然后 pip install django
s2sh注解增删改 分页
描述>=20个字符,不支持HTML标签。 详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分。
JqueryDatagrid 分页增删改
JqueryJqueryJquery Datagrid 分页增删改
Ajax_三层增删改_分页
1.使用Ajax异步请求 2.使用了三层结构 3.使用了jquery 4.实现了增加,删除,修改,批量删除以及分页功能 5.里面带了建表sql以及设计到的存储过程,含初始化数据的存储过程
J2EE典型的增删改和分页
希望对你的Java学习有所帮助,这个对自己入门时候很有用!希望一起我们学习的人一起进步
jquery实现的无刷新分页增删改
我自己写的一个用jquery实现的分页和增删改方法
easyui分页增删改
easyui分页展示,增删改等操作的一个典型例子。
python-Django增删改和分页
使用pycharm开发的python,使用Django框架,里面有用到bootstrap_toolkit插件,在app里面单独创建urls.py文件,该小demo使用到python2.7版本,Django是1.8.17版本
jhsDemo增删改分页
JSF+Spring+Hebernate的简单示例
oracle增删改及分页存储过程
项目中使用的oracle增加,修改,删除和分页存储过程,含有对条件的判断和错误处理
datalist实现增删改 分页
using System;rnusing System.Data;rnusing System.Configuration;rnusing System.Collections;rnusing System.Web;rnusing System.Web.Security;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rnusing System.Web.UI.WebControls.WebParts;rnusing System.Web.UI.HtmlControls;rnusing System.Data.SqlClient;rnusing System.IO;rnrnpublic partial class index : System.Web.UI.Pagernrn protected void Page_Load(object sender, EventArgs e)rn rn if (!Page.IsPostBack)rn rn Bind();rn rnrn rn public void Bind()rn rn string strCon = "Data Source=355146557A47426\\SQLEXPRESS;Initial Catalog=stuinfo;Integrated Security=True";rn SqlConnection con = new SqlConnection(strCon);rn con.Open();rn string strSql = "select * from stuinfo";rn SqlDataAdapter da = new SqlDataAdapter(strSql, con);rn DataSet ds = new DataSet();rn da.Fill(ds);rn PagedDataSource ps = new PagedDataSource();rn ps.AllowPaging = true;rn ps.DataSource = ds.Tables[0].DefaultView;rnrn int curpage;rn if (Request.QueryString["page"] != null)rn rn curpage = Convert.ToInt32(Request.QueryString["page"]);rn rn elsern rn curpage = 1;rn rn ps.CurrentPageIndex = curpage - 1;rn ps.PageSize = 2;rn int count = ds.Tables[0].DefaultView.Count / ps.PageSize;rn if (ds.Tables[0].DefaultView.Count % ps.PageSize != 0)rn rn count++;rn rn this.Label1.Text = "当前页:" + curpage.ToString() + " 共" + count.ToString() + "页";rn this.HyperLink3.NavigateUrl = Request.CurrentExecutionFilePath;rn if (!ps.IsFirstPage)rn rn this.HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (curpage - 1);rn rnrn if (!ps.IsLastPage)rn rn this.HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + (curpage + 1);rn rn this.HyperLink4.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + count;rn this.DataList1.DataSource = ps;rn this.DataList1.DataBind();rn con.Close();rn rnrn protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)rn rn this.DataList1.EditItemIndex = e.Item.ItemIndex;rn Bind();rn rn protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)rn rnrn string sql = (this.DataList1.DataKeys[e.Item.ItemIndex]).ToString().Trim();rn string strSq = "delete stuinfo where id= " + sql + "";rn string strCon = "Data Source=355146557A47426\\SQLEXPRESS;Initial Catalog=stuinfo;Integrated Security=True";rn SqlConnection con = new SqlConnection(strCon);rn con.Open();rn SqlCommand com = new SqlCommand(strSq, con);rn com.ExecuteNonQuery();rn con.Close();rn Bind();rnrn rn protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)rn rn this.DataList1.EditItemIndex = -1;rn rn protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)rn rnrn string strName = ((TextBox)this.DataList1.Items[e.Item.ItemIndex].FindControl("TextBox1")).Text.ToString();rn string strSq = "update stuinfo set name ='" + strName + "' where id= " + this.DataList1.DataKeys[e.Item.ItemIndex].ToString() + "";rn string strCon = "Data Source=355146557A47426\\SQLEXPRESS;Initial Catalog=stuinfo;Integrated Security=True";rn SqlConnection con = new SqlConnection(strCon);rn con.Open();rn SqlCommand com = new SqlCommand(strSq, con);rn com.ExecuteNonQuery();rn this.DataList1.EditItemIndex = -1;rn con.Close();rn Bind();rnrn rn protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)rn rn if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)rn rn e.Item.Attributes.Add("onmouseover", "c=this.stle.backgroundColor,this.style.backgroundColor='#223344'");rn e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=c");rn ((Button)e.Item.FindControl("Button4")).Attributes.Add("onclick", "return confirm('是否删除')");rn rnrn rn protected void Button2_Click(object sender, EventArgs e)rn rn string str = "image/"+this.FileUpload1.FileName;rn String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();rn string strPath = Server.MapPath(str);rn FileUpload1.PostedFile.SaveAs(strPath);rn string strSq = "insert into stuinfo(name,sex,age,pwd,image)";rn strSq += "values('" + this.TextBox1.Text + "'," + this.RadioButtonList1.SelectedIndex + ",'" + this.TextBox2.Text + "','" + this.TextBox3.Text + "','" + str + "') ";rn string strCon = "Data Source=355146557A47426\\SQLEXPRESS;Initial Catalog=stuinfo;Integrated Security=True";rn SqlConnection con = new SqlConnection(strCon);rn con.Open();rn SqlCommand com = new SqlCommand(strSq, con);rn com.ExecuteNonQuery();rn con.Close();rn Bind();rn rnrn上面是完整代码 调试点编辑提示 rnstring strName = ((TextBox)this.DataList1.Items[e.Item.ItemIndex].FindControl("TextBox1")).Text.ToString();rn未将对象引用设置到对象的实例 rn点删除提示rnstring sql = (this.DataList1.DataKeys[e.Item.ItemIndex]).ToString().Trim();rn索引超出范围。必须为非负值并小于集合大小。rn寻求解决方法 如有更合适的写法可再加分
表记录之增删改操作
增加一条记录 mysql&amp;gt; insert into emp (id, age, name, gender, salary, depart, is_married) -&amp;gt; values (1, 22, &quot;lupe&quot;, 0, 20000, &quot;技术管理部&quot;, 0); Query OK, 1 row affected (0.00 sec) mysql&amp;gt; select * fro...
对单个表的增删改
对单个表的增删改<br><br>共初学者参考<br>
数据仓库创建表(表的增删改)
–创建分区表 create table if not exists user_visit_log ( user_id bigint, visit_time datetime, page_url string, referrer_url string, ip string comment ‘user ip address’) comment ‘This is the user visit log...
06-Oracle增删改表与约束
  字符串:使用VARCHAR2描述   数字:在Oracle之中使用NUMBER来描述数字,如果描述小数使用“NUMBER(m,n)”          |- 整数,使用INT          |- 小数,使用FLOAT   日期:使用DATE是最为常见的做法,但是在Oracle里面DATE里面包含有日期时间,可是其他的数据库里面DATE可能只是日期,DATETIME才表...
C#窗体增删改表
利用vs连接数据库 使用控件显示数据进行数据库操作
数据库-表记录增删改
1、新增表记录----INSERT 插入一条记录,对所有字段赋值 INSERT INTO 表名  VALUES (v1,v2,...,vn); 插入一条记录,对部分字段赋值 INSERT INTO 表名 (c1,c2,...,cn)  VALUES (v1,v2,...,vn); 插入多条记录 INSERT INTO 表名 (c1,c2,...,cn)  VALUES (v1,v2,...,...
关于SQL表的增删改
文章目录增增加列(字段)增加表级完整性约束增加列级完整性约束设置列不为空删删除基本表删除列删除完整性约束改改表名改列名改列的数据类型查 增 增加列(字段) alter table 被添加的表 add column 新列名 数据类型 (完整性约束条件) 如:在student表中添加sex字段 ``` alter table student add column sex char(6) not ...
oracle 增删改表字段
添加字段的语法:alter table tablename add column  columnname  datatype [default value][null/not null],….; 修改字段的语法:alter table tablename modify column  columnname    datatype [default value][null/not null],
表记录的增删改
表记录的增删改 文章目录表记录的增删改增加一条记录:修改表记录:删除表记录: 增加一条记录: Insert into table_name (field1,field2,…,fieldn) values (value1,value2,…,valuen); 添加一条记录 insert into em (name,bouns,salary) values("John",350,8000); 修...
MySQL 表的增删改
表的操作也不外乎增删改查1. 添加表:drop table if exists tableName;  //如果该表名已经存在再次创建会报错MySQL官方提供的添加表的语法:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] [partition_...
springmvc增删改,分页,导入数据等功能
springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能
ssm+velocity增删改分页(含数据库)
ssm+velocity增删改分页(含数据库)。(适合初学者)。
数据库增删改差加分页
简单的增删改差功能的实现,里面有现成的数据库,数据库是MySql,使用的最基本的jdbc
Vue实现数据的增删改分页
现在我们在做之前要明白一点:vue强大之处-----数据驱动和自动刷新 现在我们要做一个这样的作业,包含添加数据,删除数据,编辑数据,对数据进行分页,此功能没有后台,全是前台做的: 第一步:添加数据  增加用户时使用push和unshift方法都可以,前者是把数据添加到数组后边,后者是把数据添加到数组前面: 下面为完整代码,然后再来一一解释 &amp;lt;div class=&quot;conta...
easyui datagird增删改分页例子
struts1.3+spring2+Hibernate json,easyui datagird 学习easyui 做的一个小例子
webform_三层_增删改_分页_批量删除
webform_三层_增删改_分页_批量删除
我想知道如何增删改表的索引
--删除rnalter table 你的表 drop constraint 主键名rngorn--修改rnALTER TABLE 你的表 ALTER COLUMN 列名 你的类型 rngorn--增加rnalter table 你的表 add constraint 主键名 primary key (列名)rngornrn上面的操作我在查询分析器中执行rn 总是出现rn rn 服务器: 消息 3728,级别 16,状态 1,行 1rn 't_id' 不是约束。rn 服务器: 消息 3727,级别 16,状态 1,行 1rn 未能除去约束。请参阅前面的错误信息。
对于插入删除非常频繁的表应如何调整才能提升性能?
运行环境:oracle10.2上,在自动管理的表空间rn一个事实采集各个服务器进程最新状态的表,插入与删除非常频繁,没有更新,数据总量变化不大,在30万条左右,每次删除并重新插入100条左右的数据(删除和插入的数据量大致相等),每10分钟数据会被全部重新删除插入一遍,一共20个客户端会对此表操作,每个客户端插入删除的数据不会和其他客户端重复,只操作属于自己的数据。rn谢谢!
对于分页的速度问题?
现在库里面有四万多条记录,显示一页大约需要十多秒钟,有没有提高速度的办法?单从程序方面将应该怎么提高?rn现在用的是SQLServer2000+tomcat4.0rn每一页现实十条记录。
对于分页打印
我现在需要将一组控件,分开打印rn比如10个LABLE标签,要能将一个标签一页打印rn如何解决,是否能通过HTML的强制分页来实现
对于模糊搜索和分页
首先在配置文件中如下配置: 在后台: 在Dao中: public Pager getInfoByQuery(int pageNo, int pageSize, String searchName) { Criteria criteria = this.getSession().createCriteria(Department.class); De...
对于老生常谈的分页问题:
由于历史的原因,公司的数据库表都没有一个流水号作主键.rn但是都有一个或多个字段作主键.数据量很大.现在要分页显示.rn我想出了一个类似"边界ID"的分页方法.但是由于没有流水号,我的这个"边界ID"只有通过多个主键字段的字符串拼接来完成.而这就无法利用索引,导致分页速度很慢.rnrn如果碰巧遇到只有一个主键的表,那么速度还是很快.因为不需要进行主键的拼接,有效利用了主索引.rnrnrn那么我问下,在不建流水号ID的情况下,多主键表分页速度慢的问题是否无解,在sql2000下.
oracle中对于xmlType数据节点的增删改
select t.prp_xml.getclobval(),t.*,rowId from proposal_extend t where t.prp_code=100443579; --增加节点 update proposal_extend t set t.prp_xml=APPENDCHILDXML(t.prp_xml, '/data/proposal',sys.xmlType.createXM...
对于增删改有必要要用存储过程么
对于增删改有必要要用存储过程么
对于自定义的datagrid分页,如何实现排序功能?
一个采用自定义分页的datagrid(存储过程里完成分页功能),如何实现排序功能?rnrn当前只能对当前也实现排序,换一页则排序信息就丢失了。rnrn求教!
对于很多基础数据的增删改!大家是如何设计的?
执行结构肯定都是一样的,但是基础数据的参数肯定不一样rn是把增删改做在一个类中码?rn还是建立一个接口,里面有add,update,delete方法,然后让所有的基础类全部实现这个接口?但是参数怎么办?或者干脆做一个add类,update类,delete类?rnrn大家说一下阿!
自定义可增删改的grid表
flex自身带的datagrid列表操作比方便,上传个可以增删改的datagird。
HBase学习-表的增删改插
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import