社区
Java
帖子详情
10W条数据,要取出90000到900010之间 的10条记录如何实现
szg19901022
2010-05-03 06:39:29
看了
两个月的“骑驴找马”,面试无数家公司的深圳体验 http://topic.csdn.net/u/20100427/18/67AC9C5D-814A-4995-9C62-176D0F9C2733.html
有10W条数据,要取出90000到900010之间 的10条记录,这个应该用Java该如何实现呢?
...全文
177
9
打赏
收藏
10W条数据,要取出90000到900010之间 的10条记录如何实现
看了 两个月的“骑驴找马”,面试无数家公司的深圳体验 http://topic.csdn.net/u/20100427/18/67AC9C5D-814A-4995-9C62-176D0F9C2733.html 有10W条数据,要取出90000到900010之间 的10条记录,这个应该用Java该如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i李小武
2010-05-04
打赏
举报
回复
用分页不行么?
szg19901022
2010-05-04
打赏
举报
回复
[Quote=引用 5 楼 whut_lcy 的回复:]
1) 要取出90000到900010之间 的10条记录
90000-900010之间的数据不止10条
2)方法1,用游标。写个存储过程,实现简单,效率低。跨语言平台,只与数据库有关
3)如果用jdbc,就用ResultSet的分页
ResultSet.absolute(90000); //定位到第90000行
//从这里开始while(rs.next())一共……
[/Quote]
select top 10 *
from XXX
where id not in
(select top 90000 id
from XXX
order by XXX)
order by XXX
这样么?SQL2005
szg19901022
2010-05-04
打赏
举报
回复
[Quote=引用 3 楼 tianhui0001 的回复:]
select * from table where rowid<100001
minus
select * from table where rowid<90001
[/Quote]
这不是比较rowid<100001中存在而rowid<90001中不存在的纪录么?
meadking
2010-05-04
打赏
举报
回复
[Quote=引用 5 楼 whut_lcy 的回复:]
4) 如果要快速的,那就要舍弃跨平台了。
Oracle,楼上已经有人说了,用rowid
SQL2k/2005: top
mysql:limit
[/Quote]
SQL2k/2005: top
mysql:limit
这两个怎么实现?想不明白....
BearKin
2010-05-04
打赏
举报
回复
[Quote=引用 5 楼 whut_lcy 的回复:]
1) 要取出90000到900010之间 的10条记录
90000-900010之间的数据不止10条
2)方法1,用游标。写个存储过程,实现简单,效率低。跨语言平台,只与数据库有关
3)如果用jdbc,就用ResultSet的分页
ResultSet.absolute(90000); //定位到第90000行
//从这里开始while(rs.next())一共10条
……
[/Quote]
补充 2005用row_number() 结果集的效率也不是很好的
whut_lcy
2010-05-04
打赏
举报
回复
1)
要取出90000到900010之间 的10条记录
90000-900010之间的数据不止10条
2)方法1,用游标。写个存储过程,实现简单,效率低。跨语言平台,只与数据库有关
3)如果用jdbc,就用ResultSet的分页
ResultSet.absolute(90000); //定位到第90000行
//从这里开始while(rs.next())一共10条
这种办法与2其实是一样的,都用的数据库游标。但跨数据库平台。任何数据库(只要有游标)都可以用
4) 如果要快速的,那就要舍弃跨平台了。
Oracle,楼上已经有人说了,用rowid
SQL2k/2005: top
mysql:limit
一般要用到子查询
tianhui0001
2010-05-04
打赏
举报
回复
select * from table where rowid<100001
minus
select * from table where rowid<90001
hjjk123
2010-05-03
打赏
举报
回复
关注下............
从
10
w
条
记录
随机
取出
n
条
记录
高效率解决方案
在从大量
数据
中随机
取出
n
条
记录
应避免使用order by rand() ,否则效率会非常低 个人觉得简单又高效的方案: 第一步:
取出
所有
数据
放在数组中$data 第二步:打乱数组排序 shuffle($data) 第三步 :
取出
前n个...
mysql 查询随机
10
条
数据
(转载)
前提
条
件是,需要有一个自增主键(查询快) ... -- 表名 xp_device ...-- 适应有自增主键的表:利用自增主键 随机查询
10
条
数据
(查到的
数据
主键ID是连续的) 300w
条
数据
,平均耗时0.013秒 SELECT * FROM xp_devi.
【面试题
记录
】在mysql中查询
10
万
条
数据
找到第50000到5
10
00
条
数据
,你会怎么做?
数据
库表中准备了
10
万
条
数据
,今天我们来做一下测试。
数据
表:ticket_order_log 主键索引:id 先看一下
数据
,一共是
10
1176
条
数据
,耗时117s。 select * from ticket_order_log 结果如下: 实验一 :使用...
使用MySQL从20万
条
数据
中通过筛选随机
取出
1
条
数据
的方法
因为业务需要,要求在一个where筛选完的
数据
集中随机
取出
1
条
数据
。 经典的方法 SELECT * FROM table where
条
件 ORDER BY RAND() limit 1; 适用入门级应用,怎么这样说呢? 因为
数据
量小时,倒没多大问题,由于会...
10
0万
条
记录
的文本文件,
取出
重复数最多的前
10
条
10
0万
条
记录
的文本文件,
取出
重复数最多的前
10
条
。 示例文本: 098 123 234 789 …… 234 678 654 123 2.
10
0亿
条
记录
的文本文件,
取出
重复数最多的前
10
条
。 刚才是
10
0万的
数据
,你的计算机可以...
Java
51,396
社区成员
85,839
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章