-
2020-09-15 17:41:10更多相关内容
-
分页读功能
2017-11-03 18:42:52mybatis分页读插件,大数据量走分页读查询功能,mybatis分页读插件,大数据量走分页读查询功能 -
mysql 分页读为什么越来越慢
2021-01-25 17:22:28最近需要从mysql的table里根据索引一页一页(一页有1000条数据)的读数据出来,但是如果把log打印出来如下:2019-04-24 16:19:29.398 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : ...最近需要从mysql的table里根据索引一页一页(一页有1000条数据)的读数据出来,但是如果把log打印出来如下:
2019-04-24 16:19:29.398 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 0
2019-04-24 16:19:29.426 INFO 20367 --- [eduler_Worker-1]
2019-04-24 16:19:29.789 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 1
2019-04-24 16:19:29.912 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 2
2019-04-24 16:19:30.026 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 3
2019-04-24 16:19:30.156 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 4
...
2019-04-24 16:24:46.403 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 388
2019-04-24 16:24:48.250 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 389
2019-04-24 16:24:49.759 DEBUG 20367 --- [eduler_Worker-1] c.z.e.p.batch.reader.ArticleItemReader : Reading page 390
可以看出,当阅读量打到300万以后,每1000条数据阅读花掉的时间打到了1.5秒左右。
这个是什么原因呢?原来,我们以为的是,有索引之后,读取到某页,直接去那个页就行,其实不是。其实是按顺序读取所有,然后取某一个页出来。
比如,脚本是这样:
SELECT *
FROM news
WHERE cat_id = 4
ORDER BY
id DESC
LIMIT 150000, 10
这个任务可以重新像这样:走过去的150010行的id顺序,返回第10人这意味着虽然我们只需要10条记录,但我们仍需要计算前150,000条记录。
假如数据长这样:
数据和索引
如果我们要找第10个数据,其实是全部遍历了的:
image.png
那么上面那个例子,如何能减少阅读时间呢?
SELECT l.id, value
FROM (
SELECT id
FROM t_limit
ORDER BY
id
LIMIT 150000, 10
) o
JOIN t_limit l
ON l.id = o.id
ORDER BY
l.id
-
EEPROM CAT24CXX实现分页读、写数据
2021-01-01 17:16:36EEPROM CAT24CXX实现分页读、写数据目录
近日驱动CAT24C08时遇到这样一个问题:
通常配置数据写入到EEPROM,256个字节基本可满足需求,最近做的一个项目数据量较大,且不确定以后时候还需要增加保存的数据。所以打算使用分页读、写数据,使不同类型的配置数据空间较大一些。
本项目EEPROM地址使用如下所示:
- 配置1数据:0Byte~1000Byte;
- 配置2数据:1001Byte~1100Byte;
- 配置3数据:1101Byte~1200Byte;
- 配置4数据:1201Byte~1300Byte。
这样该如何实现呢?
1、CAT24CXX分页读、写数据原理
本博文以CAT24C08为例进行讲解。
如何实现CAT24C08分页读、写数据,datasheet中有说明很清楚。
CAT24C08,共有8KB的存储空间,可通过A2、a9和a8,来选择设备地址区域,也就是
=8个地址区域,每个地址区域有64页,每页16个字节, 故:64X16X8=8192B,也就是8KB。
A2、a9和a8选择地址区域,数值范围如下表所示:
A2 a9 a8 0 0 0 地址区域0 0 0 1 地址区域1 0 1 0 地址区域2 0 1 1 地址区域3 1 0 0 地址区域4 1 0 1 地址区域5 1 1 0 地址区域6 1 1 1 地址区域7 所以,可将配置数据按照以下地址块分配:
地址区域0 - 配置1数据:0Byte~1000Byte
地址区域1 - 配置2数据:1001Byte~1100Byte
- 配置3数据:1101Byte~1200Byte
- 配置4数据:1201Byte~1300Byte
2、代码实现
本代码驱动过程并没有什么变化,重点在于处理地址位,一般情况下我们默认使用地址区域0就满足开发需求,现在需要在读、写地址位基础上按位或地址区域。
使用地址区域0的时候,可默认地址位为:0XA0,读、写数据,地址如下所示:
uint8_t dev_addr_r = dev_addr | 0x01; uint8_t dev_addr_w = dev_addr & 0xFE;
使用地址区域1的时候,可默认地址位为:0XA2,读、写数据,地址如下所示:
uint8_t dev_addr_r = dev_addr | 0x01; uint8_t dev_addr_w = dev_addr & 0xFE;
以此类推,剩下区域都可以如此操作,然后就可以一页页读写数据了。
-
java分页读文件方法
2021-03-04 08:51:28publicstaticvoidreadForPage(FilesourceFile,intpageNo,intpageSize)throwsIOException{FileReaderin=newFileReader(sourceFile);LineNumberReaderreader=newLineNumberReader(in);Strings=""...public static void readForPage(File sourceFile, int pageNo,int pageSize) throws IOException {
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
String s = "";
/*if (lineNumber <= 0 || lineNumber > getTotalLines(sourceFile)) {
System.out.println("不在文件的行数范围(1至总行数)之内。");
System.exit(0);
} */
int startRow = (pageNo - 1) * pageSize + 1;
int endRow = pageNo * pageSize;
int lines = 0;
System.out.println("startRow:"+startRow);
System.out.println("endRow:"+endRow);
while (s != null) {
lines++;
s = reader.readLine();
if(lines >= startRow && lines <= endRow) {
System.out.println("line:"+lines+":"+s);
//System.exit(0);
}
}
reader.close();
in.close();
}
这样调用:
public static void main(String[] args) {
// 指定读取的行号
int lineNumber = 2;
// 读取文件
//File sourceFile = new File("D:/java/test.txt");
File sourceFile = new File("D://1.txt");
try {
readForPage(sourceFile, 5, 8);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
原文:http://my.oschina.net/u/1866821/blog/345254
-
Swiper自定义分页器使用详解
2020-08-28 09:50:59主要为大家详细介绍了Swiper自定义分页器的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
c# 对数据库进行读取并实现分页操作
2020-03-11 21:04:04此项目详细阐释解决了如何利用c#技术对数据库进行操作,并且读取到数据后对数据进行分页处理,如上一页、下一页、跳转页等。 -
微信小程序-如何分页加载数据
2021-01-03 06:03:19小程序通过数据库读取数据一次最多读取20条,云函数一次最多读取100条,所以如果我们要读取更多的数据就要借助分页加载,通过分次的加载数据,然后将每次获取到的数据拼接起来,就可以在页面显示更多的数据。... -
易语言ACCESS数据库分页显示
2020-07-20 14:44:37易语言ACCESS数据库分页显示源码,ACCESS数据库分页显示,读数据表,刷新记录,显示数据 -
分页式图文新浪读书微程序源码.zip
2021-10-05 09:40:49仅供学习交流使用,不提供技术支持 -
Android程序开发之Listview下拉刷新上拉(滑动分页)加载更多
2021-01-04 02:50:51当用户从网络上读取微博的时候,如果一下子全部加载用户未读的微博这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容。这时候,我们就需要用到另一个功能,那就是listview的分页了... -
js读json分页通讯录
2018-08-07 21:01:27js读json分页通讯录,通过JavaScript解析json数据实现分页功能,内含实例,希望对您有所帮助。 -
redisZset批量存储数据,分页读数据
2020-12-11 13:46:19} /** * redis分页取数据 * * @param redisKey * @param zSetCount 总条数 * @param i 当前页数 * @return */ private Set getRedisData(String redisKey, Long zSetCount, Integer i, Long dataSize) { long ... -
Android应用中ListView利用OnScrollListener分页加载数据
2021-01-20 10:33:37当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容。这时候,我们就需要用到另一个功能,那就是listview的分页了... -
简单实用的table分页
2016-09-07 14:57:42数据少想一次读完,去下载了好多分页的实例,不是代码有错,有缺,就是乱的很,能用但是想改就无从下手,浪费了很多分,没办法,自己动脑子,写了个table分页的例子,分享给大家,给个一分意思意思。 注释很详细,... -
mysql 分页优化解析
2021-01-19 22:12:51(这里只是提出一个设想,欢迎大家一起讨论) ASP的分页:在ASP系统中有Recordset对象来实现分页,但是大量数据放在内存中,而且不知道什么时候才失效(请ASP高手指点). SQL数据库分页:用存储过程+游标方式分页,... -
mysql语句分页limit什么意思
2021-04-20 12:36:15mysql语句分页limit什么意思主要是取数据条数用的比如取前几条或者中间某几条数据举两个例子吧limit 10 (limit 0,10的缩写)这个表示取前十条limit 2,10 从第三条开始往后取十条,因为起始数字是从0算起的Mysql中... -
读秀包库全文下载器.zip
2020-04-22 16:35:591.用浏览器进入读秀,搜索然后开始浏览包库书籍; 2.选择所需要的书籍,进入包库全文的阅读界面,将此界面的网址复制; 3.打开本程序,根据提示填入相应信息即可; [注]:下载时提示网址过时,重新进入包库全文的... -
易语言mysql分页
2020-08-15 02:48:28易语言mysql分页源码 系统结构:子程序_读取数据, ======窗口程序集1 | | | |------ _按钮_读数据_被单击 | | | |------ _按钮_下一页_被单击 | | | |------ __启动窗口_创建完毕 | | | |------ _按钮_上一页 -
基于Angularjs实现分页功能
2021-01-19 15:24:32在封装分页插件时我实现了几种方式总体都比较零散,最后找到了一个朋友(http://www.miaoyueyue.com/archives/813.html)封装的插件,觉还不错,读了下他的源码就直接在项目中使用了。 原理和使用说明 1、插件源码主要... -
解决JS组件bootstrap table分页实现过程中遇到的问题
2020-11-22 22:30:23本文为大家分享了bootstrap-table 分页的问题,供大家参考,具体内容如下 问题1 :服务器端取不到form值,querystring没有问题,但是request.form取不到值 解决:这是ajax的问题,原代码使用原生的ajax。 1可以用... -
nhibernate配置连接oracle11实现表的读,写,查,分页
2019-12-07 16:45:36nhibernate配置连接oracle11实现表的读,写,查,分页。平台为4windows7 64位,oracle11 64位,.net framework 4.5 -
Winform的分页控件
2018-01-13 14:36:06很好用的Winform分页控件,内带源码及demo,很容易读懂 -
Bootstrap table分页问题汇总
2021-01-19 15:18:11首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读。 问题1 :服务器端取不到form值,querystring没有... -
flink 分页读取mysql
2020-05-14 17:37:01其实在官网的例子里有 但是baidu查不到 package org.example; import org.apache.flink.api.common.typeinfo.BasicTypeInfo; import org.apache.flink.api.common.typeinfo.TypeInformation;... -
Jquery 分页插件之Jquery Pagination
2021-01-19 15:37:36实用jQuery分页特效插件jquery.pagination.js,基于jQuery实现,可根据pageselectCallback函数callback调用通过ajax调用动态数据,目前的方法是生成JSON数据到JS文件,调用的数据是JSON格式数据,缺点是数据是一次性... -
Angularjs 实现分页功能及示例代码
2021-01-19 15:13:59在封装分页插件时我实现了几种方式总体都比较零散,最后找到了一个朋友(http://www.miaoyueyue.com/archives/813.html)封装的插件,觉还不错,读了下他的源码就直接在项目中使用了。 原理和使用说明 1、插件... -
PHP分页类方便使用简单易读
2012-05-16 15:43:34此分页类直接返回html代码,方便使用,我这个类是按照框架里面的类写,按照自己的使用方式调用