第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

面對(duì)千萬級(jí)別的數(shù)據(jù) 進(jìn)行統(tǒng)計(jì),誰有解決方案?

面對(duì)千萬級(jí)別的數(shù)據(jù) 進(jìn)行統(tǒng)計(jì),誰有解決方案?

有只小跳蛙 2018-11-11 17:08:14
求助: 面對(duì) 千萬級(jí)別的數(shù)據(jù) 進(jìn)行統(tǒng)計(jì),誰有解決方案? 過程:一個(gè)表,表有70列,3千萬行, 先用where篩選 可能 還有 5個(gè)左右like查詢,group by 三個(gè)列,得到新的table,再對(duì)這個(gè)table 進(jìn)行至少2層嵌套的sum,count等.求答案.先謝謝了.1)原表3千萬行, where篩選出來的就有500萬行~800W.再對(duì)這個(gè)結(jié)果進(jìn)行至少2次嵌套統(tǒng)計(jì),  中間統(tǒng)計(jì)我想過了,但因?yàn)樘峤坏臄?shù)據(jù)是有范圍的,即范圍和條件不固定.無規(guī)律可找,所以沒法提前處理數(shù)據(jù),只有等客戶提交條件后才能方向統(tǒng)計(jì)2)下面是一條sqlexec('SELECT CASE WHEN 參與評(píng)價(jià)處方數(shù) IS NULL THEN 0 Case這里省略10個(gè)Caseinto ['+@OldTable+']from(SELECTCOUNT(1) as 參與評(píng)價(jià)處方數(shù),SUM(YPZS) as 用藥品種總數(shù),這里省掉10個(gè)以上sumSUM(JZKJYCFCS) AS 急診患者抗菌藥處方數(shù)FROM(SELECT VISIT_DATE AS CFRQ, PATIENT_ID AS BRBS, ORDERED_BY AS KSDM,COUNT(1) YPZS,SUM(CASE WHEN DNDCID IS NOT NULL THEN 1 ELSE 0 END) AS TYMCS,下面省掉10個(gè)以上sumAS JZKJYCFCSFROM{0}GROUP BY VISIT_DATE, PATIENT_ID, ORDERED_BYHaving 1=1 {1}) AS TEMP ) as ACREATE TABLE ['+@Table+']這里省掉70個(gè)列,下面是建表和索引.針對(duì)新查出來的表UPDATE ['+@Table+']SET 平均每張?zhí)幏接盟幤贩N數(shù) = case when下面再省掉所有列的update部分,下面是 row_number()的分頁3)以上語句大寫字母是列的名稱或別名,{}里面是傳入的其它條件或表名
查看完整描述

2 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

建議思路, 上面示例代碼,皆是大批量的查詢,增加適當(dāng)?shù)乃饕?查看執(zhí)行時(shí)的執(zhí)行計(jì)劃, 從右到左查看其數(shù)據(jù)流, 能盡早CUT掉的數(shù)據(jù)就盡早用WHERE條件去掉, 分析最合適的索引建在需要的表上, 在建索引時(shí)盡量Include選擇中的所有列, 保證索引覆蓋,如列太多, 將此索引建為聚族索引

 

補(bǔ)上面關(guān)于分表與緩存的建議:

分表:你上面示例中至少有70列, 得仔細(xì)看它們的數(shù)據(jù)類型, 如若一行超過8K,則分表勢在必行, 因?yàn)闀?huì)造成一行分在兩個(gè)不同的頁里面存儲(chǔ), 導(dǎo)致IO降低。

緩存:SQL會(huì)自動(dòng)緩存的, 如果客戶的條件中有很多一樣的, 則可以預(yù)跑一些數(shù)據(jù)來進(jìn)行緩存, 如大多都不一樣, 如包含當(dāng)前時(shí)間等參數(shù), 緩存則沒多少意義。


查看完整回答
反對(duì) 回復(fù) 2018-11-15
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

數(shù)據(jù)量太大的話要分表,我目前的做法是把要統(tǒng)計(jì)的部分用分表存儲(chǔ),然后加上緩存,也就是用空間換時(shí)間的做法

查看完整回答
反對(duì) 回復(fù) 2018-11-15
  • 2 回答
  • 0 關(guān)注
  • 1454 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)