簡體   English   中英

什么可以為大型數據集提供更好的性能? 嵌套字典還是對象字典?

[英]What offers better performance for large datasets? Nested dictionaries or a dictionary of objects?

當我從多個數據庫表中獲取數據時,我發現自己在重復這種模式:

records = {'p_key': { "record": r, "A": list(), "B": list(), "C" : list() } for r in db_records}

我經常不得不以這種方式對數據進行分組,因為我無法跨數據庫進行連接,或者可能存在多個查詢比多個連接更快的情況。

但是在性能方面,我不確定這樣的嵌套字典是否有很多開銷,以及是否可以通過創建具有這些屬性的 object 來更好地為我服務,這些屬性將成為記錄字典中的值。 我所說的性能是指使用大量嵌套字典與對象字典時的空間和時間總成本。

字典和常規 class 對象之間的性能基本上沒有差異,因為內部對象正在使用字典來處理它們的屬性。

但是,您應該考慮使用帶有__slots__的類。 是有關它是什么及其性能的詳細說明。

另一種選擇是使用 pandas 庫來處理大數據集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM