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

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

建議在Django應(yīng)用中使用python和SQL來處理數(shù)據(jù)

建議在Django應(yīng)用中使用python和SQL來處理數(shù)據(jù)

白板的微信 2021-05-04 13:43:24
背景:我正在為業(yè)務(wù)應(yīng)用程序開發(fā)Django應(yīng)用程序,該應(yīng)用程序接收客戶數(shù)據(jù)并在儀表板上顯示圖表。我有一個(gè)大型數(shù)據(jù)庫,其中包含原始信息,例如按客戶分類的零件銷售信息,我將用它來填充分析。過去,我可以將python與pandas,xlsxwriter等配合使用來很好地做到這一點(diǎn),現(xiàn)在我正在復(fù)制此Web應(yīng)用程序中過去所做的事情。我使用PostgreSQL數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),然后使用Django構(gòu)建可視化應(yīng)用程序和Fusioncharts。為了使信息進(jìn)入Postgres,我將python腳本與sqlalchemy一起使用,這做得很好。問題:有兩種方法可以操縱將填充圖表的數(shù)據(jù)。1)我可以使用將數(shù)據(jù)導(dǎo)出到postgres的相同腳本,在導(dǎo)出之前按照自己喜歡的方式排列數(shù)據(jù)。例如,在某些情況下,我需要按某個(gè)參數(shù)對(duì)數(shù)據(jù)進(jìn)行分組(例如按客戶),然后按列對(duì)分組進(jìn)行計(jì)算。我可以為每個(gè)想要的切片執(zhí)行此操作,然后將每個(gè)模型類的不同表導(dǎo)出到postgres。2)我可以將整個(gè)數(shù)據(jù)庫上傳到postgres,并稍后使用產(chǎn)生SQL查詢的django命令對(duì)其進(jìn)行操作。我很早就使用python來完成它,因?yàn)槲乙呀?jīng)做了一段時(shí)間了。我也理解django的查詢很難實(shí)現(xiàn)。但是,使用python進(jìn)行操作將意味著我將需要更多表(因?yàn)槲覍⒁圆煌姆绞綄?duì)它們進(jìn)行分組),并且我不想以我所知道的方式進(jìn)行操作,因?yàn)槿绻蟼鲉蝹€(gè)數(shù)據(jù)庫,它會(huì)更容易從長(zhǎng)遠(yuǎn)來看,使用django / SQL查詢會(huì)更高效。任何想法或建議,表示贊賞。
查看完整描述

1 回答

?
慕娘9325324

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

好吧,這是性能和靈活性之間通常的權(quán)衡。使用第一種方法,您可以獲得更好的性能(您的模式只適合要運(yùn)行的確切查詢),但缺乏靈活性(如果您需要添加更多查詢,則說明可能不太匹配-甚至根本不匹配),其中這種情況下,您可能必須使用更新的架構(gòu)(可能是從原始資源中重新填充數(shù)據(jù)庫),而第二種架構(gòu)(希望)具有規(guī)范化的架構(gòu),但是會(huì)使數(shù)據(jù)庫服務(wù)器上的查詢變得更加復(fù)雜和繁重。

現(xiàn)在的問題是:您真的必須選擇嗎?您還可以同時(shí)具有完全規(guī)范化的數(shù)據(jù)和非規(guī)范化(預(yù)處理)的數(shù)據(jù)。

附帶說明:Django ORM實(shí)際上確實(shí)是大多數(shù)“ 80/20”工具-它旨在使80%的簡(jiǎn)單查詢變得超級(jí)簡(jiǎn)單(比說SQLAlchemy容易得多),然后確實(shí)變成了PITA的一部分-但沒有什么可以強(qiáng)迫您對(duì)所有內(nèi)容使用django的ORM(您可以始終使用原始sql或同時(shí)使用SQLAlchemy)。

哦,是的:您的問題并不新鮮-您可能需要閱讀有關(guān)OLAP的信息


查看完整回答
反對(duì) 回復(fù) 2021-05-18
  • 1 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報(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)