在开发某个要操作数据库的项目时候,我突然想到如何数据库的数据量太大,一般项目设计的时候,会一次读取所有的数据到内存中,这有可能造成内存的溢出,或者系统效率的降低。那么我们如何设计一个开发方案来解决这中问题呢?

百度了一个说法:

在查询的数据量比较大时,我们会采用分批查询的方式来查询数据库。

这是因为数据库会把满足查询条件的所有记录都装载到内存,造成大量资源被占用,严重影响系统运行的效率。

但是,数据库固有的存储过程不支持物理分页,所以如果采用分批查询方式,还需要开发人员编写自己的存储过程来实现。 具体的实现请从网上找,实现方式大致差不多!

这样,服务端每次只把若干条(一般20条)记录返回给客户端,这样,既节省资源,又加快通讯的效率!

但是,发现上面没有给出具体的分批查询设计实现方案。所以希望大家能交流下心得,最后有具体案例的实现方式和方法。

特别是在小型嵌入式设备中,采用的是sqlite数据库,数据量大的话,基本必须采用分批查询,分页查询才行。

搜索的方案

(1)通过sql分页查询语句,利用的表中的某个字段分组分页

select * from users order by id limit 10 offset 0;//offset代表从第几条记录“之后“开始查询,limit表明查询多少条结果

运用:

sqlitecmd.CommandText = string.Format("select * from GuestInfo order by GuestId limit {0} offset {0}*{1}", size, index-1);//size:每页显示条数,index页码

(2)语句性能要优化,避免查询数据的性能

java分批查询oracle数据库_数据库的分批查询问题相关推荐

  1. java代码连接oracle数据库连接_在JAVA中连接Oracle数据库(例子)

    * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - java - 代码样式 - 代码模板 */ package person.fane.test; import java.sql ...

  2. java查询学号数据库_数据库SQL查询语句练习题 PDF 下载

    主要内容: 设教学数据库Education有三个关系: 学生关系S(SNO,SNAME,AGE,SEX,SDEPT):学习关系SC(SNO,CNO,GRADE):课程关系C(CNO,CNAME,CDE ...

  3. 18 Java面试之 Oracle 和 Mysql 数据库

    一.Oracle 中,查看某个表的结构使用哪个语句? 答: 1).select table_name from user_tables 获取当前用户的表(结构) 2).select table_nam ...

  4. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  5. mysql查询归档状态_数据库归档模式的管理

    Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件, 而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间. 数据库开启归档模式之后,虽然可以保 ...

  6. mysql实验四数据库查询和视图_数据库-第四次实验报告-视图-t-sql语句

    实验十报告 创建视图 实验目的 1.掌握创建视图的SQL语句的用法. 2.掌握使用企业管管理器创建视图的方法. 3.掌握使用创建视图向导创建视图的方法. 4.掌握查看视图的系统存储过程的用法. 5.掌 ...

  7. 新建oracle数据库 环境查询,Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇...

    Oracle单实例数据库迁移到Oracle RAC 环境之(2)--实施篇 系统环境: 操作系统:RedHat EL55 Oracle : Oracle 11.2.0.1.0 集群软件:Oracle ...

  8. sequelize 连接2个数据库_数据库激荡 40 年,NoSQL、NewSQL谁能接棒?

    起初有文件,后来有基于结构化文件的导航数据库,然后出现了IMS和CODASYL.大概40年前,出现了首批关系数据库.在20世纪八.九十年代的大部分时间,"数据库"严格意义上指&qu ...

  9. 1MySQL是面向对象型数据库_数据库及MySQL基础(1)

    一.数据库概述 关系型数据库:面对关系,Java面向对象.html ·常见数据库mysql Oracle(神喻):甲骨文 DB2:IBM SQL Server:微软 Sybase:赛尔斯 MySQL: ...

  10. 数据库_数据库篇-第一章:数据库基本概念

    基础知识学习,面试必备,关注吧 骚年 01 第一,什么是数据库? 维基百科上是这样定义的: 所谓"数据库"是以一定方式储存在一起.能予多个用户共享.具有尽可能小的冗余度.与应用程序 ...

最新文章

  1. 技术项目 - Linux Swap
  2. pythonselenium浮动框_python上selenium的弹框操作实现
  3. Google发布了能理解人类语言的云服务
  4. C++面试宝典2011版
  5. Python3中提示:no module named 'wxpy'
  6. Jquery实现点击页面发送弹幕效果
  7. 大数据图数据库之离线挖掘计算模型
  8. qt中socket通信流程图_Qt学习 之 Socket通信
  9. Spring Boot 2.x 集成 Quartz 定时器 jdbc 持久化、配置集群
  10. 数据结构---哈希表
  11. MySQL DUAL表的作用
  12. Jenkins不能正常trigger
  13. 汽车漫谈1:汽车的研发到制造过程
  14. 单身程序狗没有妹子可以炫耀,怎么办?
  15. 「纯前端容器」打造无缝平滑的用户体验
  16. UniApp接入阿里云金融级实人认证服务
  17. linux scp 指令使用
  18. 新的一年里,愿你所有的愿望都能实现
  19. M2M系统是什么,你知道吗?
  20. 云客Drupal源码分析之菜单上下文连接Menu contextual links

热门文章

  1. CSS控制鼠标的箭头
  2. lua 调用文件中的函数调用_四、C++获得Lua的变量和Table的值
  3. 卧槽,B站联名键盘!
  4. MySQL索引如何优化?二十条铁则送你!!!
  5. 信息系统项目管理知识--计算机网络基础
  6. Spring MVC @RequestMapping注解详解
  7. 算法--06年华为面试:求两个数组的最小差值(Java实现)
  8. Java常用类之【八种基本数据类型】
  9. java优先队列PriorityQueue修改队列内元素排序问题
  10. Mybatis学习笔记(1)——第一个程序