当前位置:首页 » 编程语言 » sql一次查百万数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql一次查百万数据

发布时间: 2022-09-07 11:55:16

‘壹’ sql sever 2005 数据库,查询100万条数据用多少时间比较合理

看你什么样的应用,如果是实时,当然是越短越好。如果是统计一类非实时项目,10秒以内客户应该都能接受。
不过,一条查询就需要100万条数据清单,这样的应用恐怕很难满足。稍微多两个客户,服务器就无法响应了。而且还要考虑网络传输,100万条,数据量是非常大的,哪怕你的字段不是很多。

‘贰’ SQL语句写法:如何一次性从百万条记录中找到希望的数据

首先在zd1和zd2上建立索引

Select [texts] from [tables] where (zd1<23456 and zd2>23456) or (zd1< 13567 and zd2>13567) or (zd1<67543 and zd2>67543) ......
上面这样只能在输出的时候按顺序对比排序
Select [texts] from [tables] where (zd1<23456 and zd2>23456)
union
Select [texts] from [tables] where (zd1<13567 and zd2>13567 )
union
Select [texts] from [tables] where (zd1<67543 and zd2>67543)
这样可以直接按顺序输出.但不知道效率怎样..

‘叁’ sql对100万条数据的查询和统计(主要是统计)效率提升

SELECT count(id)
FROM TBL_POS_SHOP s,
TBL_POS_POS p,
TBL_POS_CUSTOMER c,
TBL_POS_ORDER o,
TBL_POS_CARDINFO cd
WHERE o.POS_CATI = p.POS_CATI
and o.CUSTOMER_ID = c.ID
and o.SHOP_ID = s.ID
and o.CARDINFO_ID = cd.ID

‘肆’ sql2008数据库,九百万条数据,如何快速查询

根据你说的需求:
"可程序中需要查询每行的所有数据"、“查询全部九百万条数据”

-------------------------------
这样的需求跟索引没有关系了(因为已经肯定是走全表扫描的了),要提高效率的办法就是:1、提高硬盘的io速度;2、增加内存以使sql server有更多的缓存

另外,你程序不要一次性取那么多数据返回,这样会拖死的,建议你考虑变换下处理逻辑(如:分批取回--可以根据id列值进行分批;将数据直接在服务端存成文本再传回本地处理)。

"而是需要根据这些数据逐一进行其他功能的操作,这款程序是不联网的"
--------------------------------
就算这样的话,也不能一次性把9百万数据一次性取回,如果你非要取出来再操作的话,那你得考虑分批去取。或者你把处理逻辑写在存储过程,然后由SQL SERVER本身去完成逻辑处理。总之,不管怎样,你也是得优化你现在的处理逻辑(现有处理逻辑我觉得不合理,效率很低下)。

“真正部署到电力网的服务器上速度会不会提高呢”
------------------------
服务器当然比你本地要快得多啦,硬件配置根本就不同一个级别,但不管怎样,还是建议你参考上面的建议优化你的处理逻辑才行,否则,你系统的效率将很低。

‘伍’ 使用sql在百万级数据中实现快速模糊查询,有没有什么技巧

1、少用前模糊“%xx”与全模糊“%xx%”
2、模糊查询字段上要有索引
3、尽量以其它固定值匹配的条件为主,而以模糊查询为辅

‘陆’ 请大神看看这段SQL哪里有问题,查询几百万条数据将近十几分钟,速度特别慢,还请大神指导。

百万的数据量并不是很大,看样子应该是某一步“卡”了一下,看看执行计划,在哪一步卡住了,然后才好对症下药。
至于语句本身,我没看出什么,就是很普通的联合查询,不过个人觉得,可以考虑把三个条件的先后顺序,毕竟有时可能出现因为过滤条件的原因导致某张大表被遍历两遍(当然最终要根据执行计划来确定,空口白话这么说是没用的)
最后提一个小建议,大概没什么用,我看你的查询字段都是xxid,是不是可以考虑外键,或者簇(这是oracle的),我不知道其他数据库有没有,仅仅是一点建议,行不行我就不知道了。

‘柒’ 请高手帮忙--百万级数据查询(附上我的SQL语句)

如果你要查开头是dstrct_idw开头是450的数据的话,把前面的%去掉会快很多
select a.Rec_year,a.Rec_mnth,SUM(a.Anml_qnty) as anml_qnty,
SUM(a.Sale_qnty) as sale_qnty,SUM(a.Fml_qnty) as fml_qnty
from T_Anml_fdsite_anml_dta a
where a.Rec_year = 2010 and a.Rec_mnth = 116 and a.Anml_knd_id = 1
and (dstrct_idw like '453450%')
group by a.Rec_year,a.Rec_mnth

‘捌’ 【SQL查询语句】数据筛选,百万数据时需1秒内查出

编写一个存储过程就ok,
create or replace procere cc( a varchar2)
as
begin
case a
when '江苏' then dbms_output.put_line('js');
when '江苏扬州' then dbms_output.put_line('jsyz');
else dbms_output.put_line('没有相应信息');
end case;
end;
调用 exec cc(江苏扬州);
我就写两个就不写了,你可以继续添加,就是一个case语句,也可以用if完成都一样。

‘玖’ 查询百万条信息第SQL数据库服务器需要什么配置

能同时超过100+人同时查询数据的服务器,数据库信息超过百万条,建议您使用单路四核机架式服务器
采用英特尔Nahalem架构的四核至强®处理器,英特尔S3420服务器芯片组、2GB DDR3 1333MHz高速大容量内存、250GB硬盘、4U机架式设计,是成长型企业信息化建设极具性价比的普及型服务器解决方案。

处理器:Xeon X3430, 内存:2G DDR3, 硬盘:SATA2 250G, 机构:4U机架式
应用范围:办公OA服务器,ERP服务器,数据库服务器,财务服务器,邮件服务器,打..
产品特点:采用英特尔Nahalem架构的四核至强®处理器,英特尔S3420服务器芯片组、2GB DDR3 1333MHz高速大容量内存、250GB硬盘、4U机架式设计,是成长型企业信息化建设极具性价比的普及型服务器解决方案。
产品型号:I14564312S
产品类型:单路四核机架式服务器
处 理 器:Xeon X3430
内 存:2G DDR3
硬 盘:SATA2 250G
机 构:4U机架式
价 格:¥5699
银牌服务
重庆五年免费上门服务,全国三年免费上门服务,关键部件三年以上免费质保。
给你推荐的是国产服务器品牌正睿的产品,他们的产品性价比很高,售后也很完善,3年免费质保,3年免费上门服务,在业界口碑很不错。

‘拾’ sql语句查询上万条数据。

用NOT IN 是很慢的一种查询方式。
试试用Join。

select a.*, 'N' as chk from pay a
where a.txn_dt = '20090110'
and txn_sta_cd = '6'
union
select * from (
select b.*, isnull(c.txn_user_id,'N') as chk
from pay b left outer join pay c
on b.txn_user_id = c.txn_user_id
and b.txn_dt = c.txn_dt
and b.txn_sta_cd = '7'
and c.txn_sta_cd = '6'
where b.txn_dt = '20090110' ) d
where d.chk = 'N'
=========================================
如果不行, 试试下面的

select a.*, 'N' as chk
from pay a
where a.txn_dt = '20090110'
and a.txn_sta_cd = '6'
union
select * from (
select b.*, isnull(c.txn_user_id,'N') as chk
from
(select * from pay
where txn_dt='20090110'
and txn_sta_cd = '7') b left outer join
(select * from pay
where txn_dt='20090110'
and txn_sta_cd = '7') c
on b.txn_user_id = c.txn_user_id) d
where d.chk = 'N'

强烈要求补分~~~!!!!!!!