clickhouse 查詢優化思路

  • 最重要的是要學會看懂explain ,尤其是下推
  • 創建表時,可以選擇表為分布式表。
  • 多個表join ,創建表時根據join 字段,進行分片,讓數據在同一個節點進行join ,提高join 效率。
  • 多個表join , 通過創建物化視圖的方式,以空間換時間的方法,提前把兩個表的數據寫到一起,不過這會有一會總量,源表的修改和刪除不會同步到物化視圖的數據里。
  • 多個表join,如果其它表數據量和字段比較少的情況下,可以直接寫成一個大寬表。
  • 多個表join,可以考慮下join 順序,防止中間結果過大
  • 對于分頁場景,有一個思路是,先只把id找出來,然后再根據id去找其他字段,這是因為復雜的查詢分頁語句,查詢會導致全量檢索數據做很多計算。
select 
id,create_time
from 
table
order by create_time
limit 20 ,0 
  • 對于單條記錄的檢索,雖然ck不擅長這種檢索,但是可以通過跳數索引的方式,也可以過濾大量的數據,提高檢索效率。
  • 可以通過分區字段進行過濾。
  • 對于一些下推失敗的話,可以把外層的下推條件,下推到查詢語句里面。
  • 對于不必要的字段減少查詢,尤其是對于列式數據庫來說。
  • 使用prewhere 可以提前在讀數據層面做一些過濾。
  • 可以把歷史數據提前做一步匯總,然后再union 當天的數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63106.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63106.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63106.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

兩數之和(Hash表)

優質博文:IT-BLOG-CN 一、題目 給定一個整數數組nums和一個整數目標值target,請你在該數組中找出"和"為目標值target的那兩個整數,并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,數組中同一個元…

C++8--賦值運算符重載

1.運算符重載 C引入運算符的目的是為了增強代碼的可讀性。運算符重載是具有特殊函數名的函數,也具有其返回值類型,函數名字以及參數列表,其返回值類型與參數列表與普通的函數相似。 函數名字為:關鍵字operator后面接需要重載的運算…

P1255 數樓梯

剛開始使用暴力進行求解,結果發現這是一道考驗高精度的題目,后來用高精度的方法,甚至使用到了容器,結果還不如暴力求解的60分,后來看了題解,有一個非常好的思路,即體現了高精度求和,…

pyfink1.20版本下實現消費kafka中數據并實時計算

1、環境 JDK版本:1.8.0_412python版本:3.10.6apache-flink版本:1.20.0flink版本:1.20kafka版本:kafka_2.12-3.1.1flink-sql-connector-kafka版本:3.3.0-1.202、執行python-flink腳本 從kafka的demo獲取消…

數據結構速成

1. 數據結構與算法 2. 順序表 3. 鏈表 4. 棧與隊列 5. 串 6. 樹與二叉樹(1) 7. 樹與二叉樹(2) 8. 圖 9. 圖的應用 10. 查找 11. 排序(1) 12. 排序(2)

k8s的污點與容忍度

污點(Taint)針對節點來說,和節點親和性正好相對,節點親和性使Pod被吸引到一類特定的節點,而污點則使節點能夠排斥一類特定的Pod。 容忍度(Toleration)應用于Pod上,它用來允許調度器…

how to write 述職pptx as a tech manager

As a technical manager, crafting an effective 述職 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…

從源碼層級深入探索 Spring AMQP 如何在 Spring Boot 中實現 RabbitMQ 集成——消費者如何進行消費

本章節主要從底層源碼探索Spring Boot中RabbitMQ如何進行消費,至于RabbitMQ是如何使用如何生產消息,本章不做過多介紹,感興趣的小伙伴可以參考:從源碼層級深入探索 Spring AMQP 如何在 Spring Boot 中實現 RabbitMQ 集成——生產者…

計算機視覺中的邊緣檢測算法

摘要: 本文全面深入地探討了計算機視覺中的邊緣檢測算法。首先闡述了邊緣檢測的重要性及其在計算機視覺領域的基礎地位,隨后詳細介紹了經典的邊緣檢測算法,包括基于梯度的 Sobel 算子算法、Canny 邊緣檢測算法等,深入剖析了它們的…

Unix 和 Windows 的有趣比較

Unix 和 Windows NT 比較 來源于這兩本書,把兩本書對照來讀,發現很多有意思的地方: 《Unix 傳奇》 https://book.douban.com/subject/35292726/ 《觀止 微軟創建NT和未來的奪命狂奔 》 Showstopper!: The Breakneck Race to Create Windows…

SSM 垃圾分類系統——高效分類的科技保障

第五章 系統功能實現 5.1管理員登錄 管理員登錄,通過填寫用戶名、密碼、角色等信息,輸入完成后選擇登錄即可進入垃圾分類系統,如圖5-1所示。 圖5-1管理員登錄界面圖 5.2管理員功能實現 5.2.1 用戶管理 管理員對用戶管理進行填寫賬號、姓名、…

系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)

每日禪語 “木末芙蓉花,山中發紅萼,澗戶寂無人,紛紛開自落。?”這是王維的一首詩,名叫《辛夷塢》?。這首詩寫的是在辛夷塢這個幽深的山谷里,辛夷花自開自落,平淡得很,既沒有生的喜悅&#xff…

Y20030004基于asp.net+Sql的環保網站的設計與實現(附源碼 調試 文檔)

環保網站的設計與實現 1.摘要要2. 系統功能3.功能結構圖4.界面展示5.源碼獲取 1.摘要要 近幾年國家對于環境管理是高度重視,尤其是對于環境生態的破壞與環境污染,已經嚴重影響到人類的生存和發展。為了使生態環境能夠得到保護和改善,持續發展…

安全計算環境-(一)路由器-1

安全計算環境-網絡設備 安全管理中心針對整個系統提出了安全管理方面的技術控制要求,通過技術手段實現集中管理;涉及的安全控制點包括系統管理、審計管理、安全管理和集中管控。以下以三級等級保護對象為例,描述安全管理中心各個控制要求項的…

D9741是一塊脈寬調制方三用于也收路像機和筆記本電的等設備上的直流轉換器。在便攜式的儀器設備上。

概述: D9741是一塊脈寬調制方三用于也收路像機和筆記本電的等設備上的直流轉換器。在便攜式的儀器設備上。 主要特點: ● 高精度基準電路 ● 定時閂鎖、短路保護電路 ● 低電壓輸入時誤操作保護電路 ● 輸出基準電壓(2.5V) ● 超過工作范圍能進行自動校…

數據挖掘之聚類分析

聚類分析(Clustering Analysis) 是數據挖掘中的一項重要技術,旨在根據對象間的相似性或差異性,將對象分為若干組(簇)。同一簇內的對象相似性較高,而不同簇間的對象差異性較大。聚類分析廣泛應用…

Qt 圖形框架下圖形拖動后位置跳動問題

在使用Qt 的圖形框架QGraphicsScene,QGraphicsView實現圖形顯示時。遇到一個很棘手的BUG。 使用的圖形是自定義的QGraphicsObject的子類。 現象是將圖形添加到畫布上之后,用鼠標拖動圖形,圖形能正常改變位置,當再次用鼠標點擊圖…

Vue技術中參數傳遞:Props與事件的實踐指南

在Vue.js中,組件間的參數傳遞是構建動態和交互式應用的核心。本文將深入探討如何通過Props和事件($emit)在Vue組件間進行參數傳遞,并提供代碼示例。 Props傳遞數據 Props是Vue中組件間傳遞數據的一種方式,它允許父組…

一、LRU緩存

LRU緩存 1.LRU緩存介紹2.LRU緩存實現3.LRU緩存總結3.1 LRU 緩存的應用3.2 LRU 緩存的優缺點 1.LRU緩存介紹 LRU是Least Recently Used 的縮寫,意為“最近最少使用”。它是一種常見的緩存淘汰策略,用于在緩存容量有限時,決定哪些數據需要被刪…

LabVIEW光柵衍射虛擬仿真系統

隨著現代教育技術的快速發展,虛擬仿真實驗平臺逐漸成為物理實驗教學的重要輔助工具。基于LabVIEW的平面透射光柵虛擬仿真系統幫助學生更好地理解和分析光柵衍射現象,提高教學質量和學生的學習興趣。 項目背景 在波動光學的教學中,光柵衍射實…