『壹』 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'
強烈要求補分~~~!!!!!!!