中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

clickhouse SQL優化技巧有哪些

發布時間:2022-01-14 14:23:22 來源:億速云 閱讀:722 作者:小新 欄目:大數據

這篇文章主要介紹clickhouse SQL優化技巧有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

sql慢查大部分主要體現在cpu 負載過高,io過高,或者查詢的列中無索引導致的;注意;clickhouse本身不太支持高并發的場景,qps過高會導致clickhouse服務器cpu過高,導致慢查

在這些情況下;常見的考慮的是 sql中是否有復雜的運算,查詢的數量量是否過大,查詢的列中索引是否有效;

sql 查詢特點:數量大,且分區跨度大

data表格中有8億多條數據,data表按照p_data_day 分區;

select sn,COUNT(1) as valueQt from data WHERE   sn='70A0600018109' and p_day >= '2017-01-01' and p_data_day < '2020-08-13'group by sn;

數據會遍歷整個分區,數據平均在1s左右分鐘返回 ;

優化思路:減少不必要數據的遍歷(分區);充分利用clickhouse 索引(group by 索引)

針對sn的查詢,建立物化視圖;將8億條數據按照sn號以及device_id(mac_code)建立256個分區;

create MATERIALIZED VIEW IF NOT EXISTS data_sn_materializedengine = ReplicatedMergeTree('/clickhouse/tables/{ck_cluster}/data_sn_materialized', '{replica}')PARTITION BY sn_sort_key ORDER BY (sn_sort_key,sn,p_day)AS select halfMD5(_sn) % 256 as sn_sort_key,sn,p_day,count() as cnt from data group by sn_sort_key,sn,p_day;

查詢語句;保持原來的出參和入參不變,數據能夠在200ms以內返回,

sql 查詢特點:數量大,且分區跨度大

data 表格數據量在10億多條,建表語句如下

CREATE TABLE data (`data_day` Date, `flow_type` UInt32 DEFAULT CAST(0, 'UInt32'),.....) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{ck_cluster}/data', '{replica}') PARTITION BY data_day ORDER BY (flow_type, data_day) SETTINGS index_granularity = 8192;

查詢語句

 
   
   
   select ... from data where data_day = '2020-09-11'
我們觀察到查詢數據的時候,總是會具體到昨天;而且歷史的數據不會再使用;  
優化思路:使用clickhouse的TTL,減少表容量,
   
   
   
CREATE TABLE dwrt.lc_order_flow (    `data_day` Date,     .....     `flow_type` UInt32 DEFAULT CAST(0,     'UInt32'),    ....    ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{ck_cluster}/data', '{replica}') PARTITION BY data_day ORDER BY (data_day, flow_type) TTL data_day + toIntervalDay(7) SETTINGS index_granularity = 8192;    
     

以上是“clickhouse SQL優化技巧有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新密市| 石泉县| 汉沽区| 新营市| 炎陵县| 新巴尔虎右旗| 新郑市| 晋中市| 陆丰市| 达拉特旗| 土默特左旗| 祥云县| 富阳市| 肃宁县| 四子王旗| 丹寨县| 大同市| 永川市| 黄陵县| 集安市| 锡林郭勒盟| 辉县市| 涟水县| 石台县| 丰原市| 安西县| 江西省| 庐江县| 常州市| 阿城市| 石柱| 锦屏县| 定日县| 湟源县| 兴国县| 贵南县| 汝南县| 肇庆市| 虞城县| 西峡县| 门源|