- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
ClickHouse的执⾏计划以及优化策略
执⾏计划
如果要在ClickHouse20.6版本之前查看SQL语句的执⾏计划,需要在config.xml⾥⾯将⽇志级别设置为trace。
!--新版本默认是trace--
logger
leveltrace/level
/logger
然后还要真正执⾏相应的SQL语句,在执⾏⽇志⾥⾯查看,很明显这是⾮常不⽅便的。于是ClickHouse在20.6版本⾥⾯引⼊了原⽣的执⾏计划的语法(此
时处于试⽤期阶段),并在20.6.3版本中正式转正。
我们当前系列都是基于ClickHouse的21.7.3.14版本。
然后我们来介绍如何查看执⾏计划,不过介绍之前我们先创建⼀张数据表,这次我们采⽤真实的数据。⾸先ClickHouse官⽅提供了两个数据集,其中数据⾏
数和字段数都⾮常的⼤,不亚于⼀些公司⽣产环境上的数据,我们来下载⼀下。
#下载数据集,这⾥的数据集不是CSV、JSON,⽽是.bin、.mrk等物理⽂件
#也就是说数据集本⾝就是符合ClickHouse物理存储的
curl-O
#所以我们直接解压到拷贝到/var/lib/clickhouse⽬录下即可
tar-xvfhits_v1.tar-C/var/lib/clickhouse
然后我们就可以使⽤hits_v1这张表了,我们之前说过,必须要先创建表然后再导⼊数据,因为创建表的时候会⽣成⼀些元信息,存储在
/var/lib/clickhouse/metadata⽬录下,⽽光有数据没有元信息是不⾏的。但对于当前⽽⾔则不⽤事先创建表,因为ClickHouse将元信息也准备好了,所以我
们直接拷贝过去即可。压缩包解压之后,会有⼀个data⽬录和⼀个metadata⽬录,所以我们解压到/var/lib/clickhouse中,会⾃动将data⽬录⾥⾯的内容
合并到/var/lib/clickhouse的data⽬录中,将metadata⽬录⾥⾯的内容合并到/var/lib/clickhouse的metadata⽬录中。
[root@satoridata]#ls
datasetsdefaultsystem
[root@satoridata]#lsdatasets
hits_v1
我们看到⾥⾯多了⼀个datasets⽬录,datasets⽬录下才是hits_v1,显然我们后续需要使⽤datasets.hits_v1进⾏查询。当然数据集还有⼀份,我们按照相
同的套路即可。
curl-O
tar-xvfvisits_v1.tar-C/var/lib/clickhouse
我们来确认⼀下:
[root@satoridatasets]#ls
hits_v1visits_v1
显然数据集已经准备完毕,不过我们当前使⽤的是root⽤户,还应该要确保clickhouse⽤户有相应的操作权限。
chownclickhouse:clickhouse/var/lib/clickhouse/data-R
#然后重启ClickHouse,因为我们不是通过CREATETABLE创建的表
#因此要重启,不然ClickHouse是不知道我们通过拷贝⽂件的⽅式新增了两张表
clickhouserestart
重启之后,执⾏SQL语句进⾏查看:
数据量还是不少的,datasets.hits_v1有将近900万条数据、字段数130多个,datasets.visit_v1有160多万条数据、字段数为180多个,还是很⼤的。
具体都有哪些字段,可以通过/var/lib/clickhouse/metadata/datasets下的.sql⽂件进⾏查看。
有了数据集,我们就可以介绍查询计划了。当然使⽤这种规模的数据集有些⼩题⼤做,不过既然ClickHouse是为⼤数据准备的,那么使⽤⼤⼀点的数据集也
⽆妨,⽽且我们后⾯也会经常使⽤这些数据集。
基本语法
在MySQL中查看执⾏计划使⽤的语法是什么呢?没错,EXPLAIN,在ClickHouse中也是如此,只不过ClickHouse将EXPLAIN变得更加丰富。
EXPLAN[A
文档评论(0)