500分,求在千万条记录的数据库中进行批量查询的高效方法?

最佳答案加至500分求教:

asp一次性从ACCESS数据库的百万条数据中(表中形式如下)
字段A 字段B
11111 记录一
22222 记录二
33333 记录三
44444 记录四
55555 记录五
66666 记录六
...
批量查询到大于或等于下面数据的记录:
23456
13567
67543
...
例如:数“23456”,对应于数据库中的记录应是“大于22222”的,那么得到记录“记录一”,余类推。
然后按数组A原有记录的顺序排序记录的方法。

例如查询数组 23456,13567,67543,...
得到记录结果 记录二,记录一,记录六...

不想用循环读取数据库表where得到记录的办法,那样效率太低,每循环一次要近秒钟,服务器都崩溃了。
应该如何处理?求高效方法答案。
有正确答案再加分。言出必行。
“数组A”指“23456,13567,67543,... ”

回应补充:
一、所以说千万条记录,是因为记录在不断增多,而且方法将会对SQL数据库的数据查询同样有帮助。
二、数据库字段已设索引。
三、也不是遍历的问题,因为查询的并不是匹配一个数的数据,而是匹配一组数的数据。
五、可以把这个看作一个嵌套循环的问题:在普通数据库A中查询到一组数据后,再同时在超大的数据库B中查询相匹配数据。

    SQL 关键索引,在大表上创建索引 

    千万记录的表不算大,只要索引创建对了,性能可以正常提升,

    还有一种就是比较偏的方式:先把需要批量的数据库插入临时表

    这个可以防止频繁对表进行查询操作,

    SQL 如下:select * into #Temp from Table

    后面就只需要对临时表操作,不允许主表性能。

温馨提示:内容为网友见解,仅供参考
第1个回答  2006-11-26
呵呵.这个问题不是能从程序上来解决的.如果按我的意见就是尽量先做一些工作让你的表尽量的分开,归类为几个表,当然尽量的多些表,查询的速度就会大大的提高.我就用过用access查询150万条多的记录.只不过我背后将资料整理成几个表.然后优化我的程序尽量满足各种查询的需要.

如你要按你的思路来查,再好的服务器也受不了.一查就当机了.本回答被提问者采纳
第2个回答  2006-11-26
先把access数据转移动ms sql中吧啊,access是不行的.
别外,肯定要用where的.它是遍历过程,不是循环过程.
sql="select * from TableName where 记录>222222"
rs.open sql,conn,1,1
do while not rs.eof
按你的规则显示rs("记录一"),rs("记录二")
rs.movenext
loop

这是一个遍历过程.你不这么做你还想怎么做?
当然啦,能调用存储过程更好.
第3个回答  2006-11-26
10000 20000 文字一
21000 30000 文字二
31000 40000 文字三
41000 50000 文字四
51000 60000 文字五
61000 70000 文字六
查询到大于或等于下面这个数组的单个数的记录啊:
23456,13567,67543...
第4个回答  2006-11-26
1、据本人的经验,ACCESS对百万条数据的处理应该是力不从心,如真的有一百万条以上的记录,循环一次不是一秒能解决的,至少是几秒以上。
2、如果你的数据有特别的规律,你可以自个想特别的算法,如你给出的那几行数据就是有特别的规律的,不过,你的数据真的如此有规律吗?如果有,不是很难的事,如果没有,ACCESS自身拥有的查询算法一般来说比你写的算法效率要高许多(请使用索引,有索引的情况下查询速度会快很多)。

C#如何在海量数据下的高效读取写入MySQL
(数据库的一览,有图有真相)第一步 解决读取的问题跟数据库打交道的方式有很多,我来列举下吧:1. 【重武器-坦克大炮】使用重型ORM框架,比如EF,NHibernat 这样的框架。 2. 【轻武器-AK47】 使用Dapper,PetaPoco之类,单cs文件。灵活高效,使用简单。居家越货必备(我更喜欢PetaPoco :))3. ...

一个批量查询请求文件中,最多包含多少条数据
1、数据处理能力:批量查询请求的处理能力取决于后端数据库或数据处理系统的性能,一些系统能够高效地处理大规模的查询请求,而其他系统由于其架构或硬件限制而无法处理大规模请求。2、应用需求:实际应用中,批量查询请求的大小和数量取决于用户需求和业务场景,在某些情况下,需要处理大量数据以进行数据分析或...

MySQL存储上亿记录如何高效处理大规模数据mysql上亿记录
1. 数据库分区 在MySQL中,数据库分区是提高查询性能的一种方法。它通过将一个大表分成多个小表,存储在不同的物理位置上,并可独立进行维护和管理来实现。通常,在进行数据库分区时,我们需要考虑以下三个方面的因素:– 如何选择分区键 – 如何选择分区类型 – 如何创建分区表 对...

高效处理大数据MySQL的亿条数据排序技巧mysql一亿条数据排序
分页技巧是MySQL处理大数据集合的排序技巧之一,通过这种技巧可以迅速的将数据排列起来,并将其分页显示。具体方法是使用MySQL的LIMIT语句,将数据分批查询并限制返回的行数,以便更好地进行排序和时间优化。五、使用批量插入 批量插入是一个非常重要的技巧,在对大量数据进行排序时,使用批量插入可以极大地提高...

高效快速实现MySQL上亿表数据复制方法分享mysql上亿表复制
二、使用mysqldump命令导出数据 mysqldump命令可用于导出整个MySQL数据库或特定表的数据。可以将导出的数据作为SQL脚本,然后在目标MySQL数据库中执行该SQL脚本文件。可以在从服务器上执行导入操作,并从主服务器上导出数据。这种方式需要导出完整的表数据,并使用快速批量插入功能(use –opt or –...

精准高效文献检索,这里有新版PubMed的超强攻略!
如需进一步了解该期刊内的文献内容,用户可以通过点击“Add to search builder”创建检索式,然后点击“Search PubMed”来查看发表在该期刊的论文。06临床查询在PubMed首页,用户可以通过“Clinical Queries”入口进行临床查询。在检索框中输入疾病名称或主题,用户可以在“Filter”的下拉列表中选择查询的类型,...

MySQL实现一千万快速数据更新mysql一千万快速更新
= value2 WHERE condition;总结 MySQL的数据更新速度是任何高效数据库运行的关键,尤其是在大型数据的情况下。如上所述,使用适当的存储引擎,索引和事务管理,关闭查询缓存,使用多线程,以及批处理更新请求,可以帮助您快速更新一千万条数据。使用这些技巧可以显著提高数据操作的效率,并优化查询速度。

高效处理数据MySQL应对一亿条数据瓶颈的解决方案mysql一亿条
2. 分表。分表就是将一张大表,分成多个小表,每个小表只包含一部分数据。例如,将一亿条数据分割成10个小表,每个表处理一千万条记录,当查询时,我们就可以只查询其中一个小表来提高查询效率。当然,在使用分表时,也需要注意避免数据冗余以及关联查询时可能出现的困难。三、使用缓存与慢查询优化 ...

如何高效地对MySQL一亿条数据进行更新操作mysql一亿条数据更新
1. 使用索引 索引是MySQL优化的重要工具。可以通过创建索引来优化SQL语句的执行效率,并在查询、排序、分组等操作中减少内存和CPU的开销。在进行更新操作时,索引可以加速查找需要更新的行。2. 批量提交 一次提交一条数据的更新操作通常需要较长的时间。批量提交可以大幅提高更新效率。例如,批量将1000条记...

access数据库的问题
步骤三:执行完毕后,若不再需要此查询,可将其删除以释放资源。这样的操作不仅节省了管理查询的步骤,还确保了数据库的整洁与高效。总结而言,通过在查询中设计“更新查询”并执行,用户可以便捷地针对已录入大量记录的Access数据库进行批量修改或添加操作。这种方法不仅简化了操作流程,提高了工作效率,也...

相似回答